我注意到每小时和每日的 cron 没有运行,我将它们移至 crontab,一切正常:
#!/bin/bash
now=$(date)
echo 'It is '$now
命令行:
# run-parts --test /etc/cron.hourly
返回空白
编辑:
# ls -lsAF
total 8
4 -rw-r--r-- 1 root root 102 Apr 2 2012 .placeholder
4 -rwxr-xr-x 1 root root 254 Mar 18 06:52 testEcho*
之前名字是“testEcho**.sh**”,我把它改名为“testEcho”
# run-parts --test /etc/cron.hourly
/etc/cron.hourly/testEcho
现在值已返回,我将对其进行测试并回复您
提前致谢
答案1
每小时和每天(以及每周、每月)cron
的作业由命令运行run-parts
。我的/etc/crontab
有:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
需要注意的是,run-parts
对文件名非常敏感。来自man run-parts
:
如果没有给出 --lsbsysinit 选项或 --regex 选项,则名称必须完全由 ASCII 大写和小写字母、ASCII 数字、ASCII 下划线和 ASCII 减号连字符组成。
由于该文件名为testEcho**.sh**
,因此其名称检查失败run-parts
,因此run-parts
被忽略。
您需要重命名文件以符合run-parts
命名策略,或者您可以通过在中添加相关条目来直接执行文件crontab
。