|
@@ -35,21 +35,35 @@ setup_cron() {
|
|
|
|
|
|
|
|
echo "设置定时任务: 每天 ${cron_hour}:${cron_min} 执行更新检测"
|
|
echo "设置定时任务: 每天 ${cron_hour}:${cron_min} 执行更新检测"
|
|
|
|
|
|
|
|
- # 确保cron目录存在
|
|
|
|
|
- mkdir -p /var/spool/cron/crontabs
|
|
|
|
|
-
|
|
|
|
|
- # 删除旧的更新任务(如果存在)
|
|
|
|
|
- if [ -f "$CRON_FILE" ]; then
|
|
|
|
|
- grep -v "$UPDATE_SCRIPT" "$CRON_FILE" > "${CRON_FILE}.tmp" 2>/dev/null || true
|
|
|
|
|
- mv "${CRON_FILE}.tmp" "$CRON_FILE"
|
|
|
|
|
|
|
+ # 检测 cron 类型并配置
|
|
|
|
|
+ if command -v crontab >/dev/null 2>&1; then
|
|
|
|
|
+ # Debian/Ubuntu 风格的 cron
|
|
|
|
|
+ echo "$cron_entry" | crontab -
|
|
|
|
|
+ # 启动 cron 服务
|
|
|
|
|
+ if command -v cron >/dev/null 2>&1; then
|
|
|
|
|
+ cron
|
|
|
|
|
+ echo "cron 服务已启动"
|
|
|
|
|
+ elif command -v crond >/dev/null 2>&1; then
|
|
|
|
|
+ crond
|
|
|
|
|
+ echo "crond 服务已启动"
|
|
|
|
|
+ fi
|
|
|
|
|
+ else
|
|
|
|
|
+ # Busybox 风格的 crond
|
|
|
|
|
+ mkdir -p /var/spool/cron/crontabs
|
|
|
|
|
+
|
|
|
|
|
+ # 删除旧的更新任务(如果存在)
|
|
|
|
|
+ if [ -f "$CRON_FILE" ]; then
|
|
|
|
|
+ grep -v "$UPDATE_SCRIPT" "$CRON_FILE" > "${CRON_FILE}.tmp" 2>/dev/null || true
|
|
|
|
|
+ mv "${CRON_FILE}.tmp" "$CRON_FILE"
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ # 添加新的定时任务
|
|
|
|
|
+ echo "$cron_entry" >> "$CRON_FILE"
|
|
|
|
|
+
|
|
|
|
|
+ # 启动 crond
|
|
|
|
|
+ crond -b -l 8
|
|
|
|
|
+ echo "crond 已启动"
|
|
|
fi
|
|
fi
|
|
|
-
|
|
|
|
|
- # 添加新的定时任务
|
|
|
|
|
- echo "$cron_entry" >> "$CRON_FILE"
|
|
|
|
|
-
|
|
|
|
|
- # 启动crond(busybox crond)
|
|
|
|
|
- crond -b -l 8
|
|
|
|
|
- echo "crond 已启动"
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
# 仅更新模式(构建时使用)
|
|
# 仅更新模式(构建时使用)
|