Cron.hourly不会运行
好吧,所以我已经制作了我的脚本,我把它放在/etc/cron.hourly
然后我chmod 777
文件,但它不会运行(自动)。 如果我手动运行它,它工作正常。 我还需要做其他事情吗?
为什么不使用crontab(/ etc / crontab)并在小时字段中使用* / 1。 我用它来每5分钟运行一次脚本,效果很好:
# mh dom mon dow user command * */1 * * * user command
cron.hourly
中的条目由run-parts机制man run-parts
( man run-parts
以获取更多信息)。 并且run-parts
对它认为有效的文件名很挑剔。
例如,为脚本提供扩展名会使其无效并导致作业无法运行。 [a-zA-Z0-9_-]
是有效字符,所以’。’ 使它无效。
将作业添加到/etc/cron.hourly
(或.daily
, .weekly
等)时,请始终测试run-parts
将通过发出命令实际运行它:
run-parts --test /etc/cron.hourly
如果通过运行此命令显示您的文件,则表示它有效。 否则,如果没有显示任何文件名无效。
你的剧本名称是什么?
您的问题可能取决于过度开放的权限,允许任何人编辑您的文件。 请尝试755
。
查看syslog输出中的cron条目应该确认这一点。
DaithiF的答案应该是正确的答案。
另外,我的脚本在第一行没有#!/bin/bash
。 即使脚本可以使用命令行执行, run-parts
拒绝它说“执行格式错误”。
将文件名从scriptname.sh
更改为scriptname
并将#!/bin/bash
到第一行使我的脚本每小时运行一次。
当你跑步
crontab -l
这个任务在名单上吗?
如果没有,请添加它
crontab -e
添加此行
0 * * * * yourScript
如果它在此列表中,请尝试将编程语言的路径添加到脚本的顶部
例:
bash: #!/bin/bash
这两件事总能解决我的问题:)