ksweb 中文文档 下载 App

KSWEB Cron 计划任务 定时备份数据库 跑批处理 Android 11 起受限

基本概念

KSWEB PRO 版的 Scheduler 用标准 Unix cron 风格表达式来定时执行任务。和 Linux cron 一样,五个星号/数字表示时间:

┌──────── 分钟(0-59)
│ ┌────── 小时(0-23)
│ │ ┌──── 日(1-31)
│ │ │ ┌── 月(1-12)
│ │ │ │ ┌─ 星期(0-6,0=周日)
│ │ │ │ │
* * * * *   每分钟执行一次

常见写法

表达式含义
0 3 * * *每天凌晨 3 点
0 */6 * * *每 6 小时整点
30 2 * * 0每周日凌晨 2:30
0 3 1 * *每月 1 号凌晨 3 点
*/10 * * * *每 10 分钟

怎么配置

  1. KSWEB SETTINGS → Scheduler → 新增任务
  2. 填 cron 表达式
  3. 填要执行的命令或脚本路径
  4. 保存

如果要跑 PHP 脚本,命令里要带 PHP 解释器的完整路径,比如:

/data/data/ru.kslabs.ksweb/files/php/bin/php /sdcard/scripts/daily-backup.php

常见用例

每天凌晨自动备份 WordPress 数据库

0 3 * * * /data/data/ru.kslabs.ksweb/files/mysql/bin/mysqldump -u root wordpress > /sdcard/backup/wp-$(date +\%F).sql

注意 date 里的 % 要转义成 \%(cron 里 % 是特殊字符)。

定时清理临时文件

0 */4 * * * rm -f /sdcard/htdocs/wp-content/cache/*

每 5 分钟跑一个 PHP 心跳脚本

*/5 * * * * /data/data/ru.kslabs.ksweb/files/php/bin/php /sdcard/scripts/heartbeat.php

Android 版本限制 ⚠️

官方文档明确提醒:Scheduler 只在 Android 10 及以下工作可靠。Android 11+ 的 DOZE 模式和 App Standby 限制会让计划任务不准时、跳执行、甚至完全不执行。

原因是:Android 11+ 对后台应用的唤醒极其保守,KSWEB 即使在后台长期运行,DOZE 模式(用户不操作设备几小时后自动进入)会冻结它的所有定时回调。

应对策略

注意

Scheduler 功能是 KSWEB PRO 版专属。Standard 版没有这个入口,需要升级才能用。版本档位对比见 Standard vs PRO。