定时任务与自动化脚本

自动化会稳定地重复错误

cron、systemd timer、PM2 cron restart、备份和清理任务在无人值守时运行,因此需要比手工命令更严格的边界。

常见差异:

脚本应使用绝对路径、明确 cwd、有限输出、退出码、超时和通知。

防止任务重叠

flock -n /var/lock/nloop-cleanup.lock /usr/local/bin/nloop-cleanup

flock 可防止上一次未完成时再次启动,但锁文件路径、用户权限和分布式多机任务还需单独设计。多机只能依靠本地锁并不够。

清理任务

先在测试目录手工运行打印模式,再启用删除;限制根目录、文件类型、时间、最大深度和文件系统,并排除活跃任务。任务应输出删除数量和失败数量,不无限打印每个文件。

自动更新

无人值守安全更新需要维护窗口、重启策略、告警和验证。数据库、运行时和核心组件不宜仅靠一条 cron apt upgrade -y 管理。