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-partsman 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 

这两件事总能解决我的问题:)