假设我通过脚本编写cron文件并直接在/var/spool/cron/crontabs/
下修改它们。当使用命令crontab -e
时,当我退出编辑器时,crontab将检查语法。是否有办法通过脚本进行相同的检查?
使用-e选项的Crontab会打开当前cron文件并在退出后将其安装到默认编辑器中。
首先,保存您当前的cron文件以确保不会丢失或破坏任何内容。
crontab -l > backup.cron
crontab yourFile.text
或者在脚本中使用管道:
#/bin/bash
Variable="your scheduled tasks"
echo $Variable | crontab
如果格式不正确,您将收到错误消息。
更多信息: crontab手册
chkcrontab
工具:pip3 install chkcrontab
chkcrontab /etc/cron.d/power-schedule
Checking correctness of /etc/cron.d/power-schedule
E: 15: 0 12 * foo * * root echo hi
e: FIELD_VALUE_ERROR: foo is not valid for field "month" (foo)
e: INVALID_USER: Invalid username "*"
E: There were 2 errors and 0 warnings.
或者尝试从 Wicked Cool Shell Scripts, 2nd Edition 使用一个名为 48-verifycron
的 shell 脚本,但它不如其他方法好。