Crontab

Crontab
以 root 身份在服务器上运行的计划任务(等同于“sudo crontab -e”)。面板中只能编辑在此处添加的任务;root crontab 中已存在的其他行仅在下方显示,供查看。
Crontab (2)
计划安排 命令 描述 状态 操作
0 5 * * * /usr/local/bin/custom-backup.sh >> /var/log/arciveo-cron.log 2>&1 Nightly backup to remote storage
*/15 * * * * /usr/local/bin/healthcheck.sh Ping external uptime monitor
服务器的其他任务(仅查看) (12)
命令
30 1 * * * /usr/local/bin/clamav-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 2 * * * /usr/bin/aide --config /etc/aide/aide.conf --check > /var/log/aide/aide.log 2>&1
@reboot chmod 755 /var/lib/aide
0 3 * * * /usr/local/bin/lynis-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 4 * * * /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
@reboot sleep 60 && /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
30 4 * * * /usr/local/bin/debsums-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 6 * * * /usr/local/bin/logwatch_daily.sh >> /var/log/arciveo-cron.log 2>&1
0 8 * * * /usr/local/bin/daily-report-all.sh >> /var/log/arciveo-cron.log 2>&1
*/30 * * * * /usr/local/bin/smart-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 * * * * /usr/bin/apt-get update -qq >/dev/null 2>&1
*/5 * * * * /usr/local/bin/collect-metrics-all.sh >> /var/log/arciveo-cron.log 2>&1
这些是 root-crontab 中面板区块之外已存在的行。“复制到编辑器”只会填充表单,不会删除原始行;迁移后请通过 SSH 手动删除它。

用 crontab 网页界面代替 SSH 上的 crontab -e

cron 从不谈论自己。它不报告任务失败,不显示上一次是什么时候跑的,计划那五个字段里的语法错误也没有地方浮现出来。按规矩它会给本地用户发信,可是在一台从未配置过外发邮件的服务器上,那封信没有人会读到。一个任务可以坏上好几个月,最后是后果把它暴露出来。

本页列出通过面板添加的任务:计划、命令、说明和状态,可以启用、停用或删除,而不必打开终端。下面另有一份单独的列表,是 root crontab 里其余的行,也就是您或某个已安装的软件包早先写进去的。那些行只可读取:面板有意不去改动并非自己写下的内容。

这里有三件事值得核对。输出被送往 /dev/null 2>&1 的任务,正常运行时和已经坏掉时一样沉默。用短名而不是完整路径写下的命令,行为与您在 shell 里看到的不同,因为 cron 有自己一套极其简陋的 PATH。还有计划本身:当初为调试关掉的任务,通常就一直关着。任何一次入侵嫌疑之后,cron 同样值得通读一遍,因为经由调度器扎根比经由启动单元更容易,而那样一行看上去平常得很。