Switchkick Asked: 2010-10-20 23:55:08 +0800 CST2010-10-20 23:55:08 +0800 CST 2010-10-20 23:55:08 +0800 CST Cron.hourly 不会运行 772 /etc/cron.hourly好的,所以我已经制作了我的脚本,我将它放入chmod 777文件中,但它不会(自动)运行。如果我手动运行它,它工作正常。我还需要做其他事情吗? command-line cron-jobs cron crontab 5 个回答 Voted DaithiF 2011-05-04T08:12:41+08:002011-05-04T08:12:41+08:00 中的条目cron.hourly由 run-parts 机制运行(man run-parts更多信息)。并且run-parts对它认为有效的文件名很挑剔。 例如,为您的脚本提供扩展名将使其无效并导致作业无法运行。[a-zA-Z0-9_-]是有效字符,所以 '.' 使其无效。 /etc/cron.hourly向( 或.daily,.weekly等)添加作业时,请务必在之后run-parts通过发出以下命令进行实际运行测试: run-parts --test /etc/cron.hourly 如果通过运行此命令,它会显示您的文件,这意味着它有效。否则,如果没有显示任何内容,则您的文件名无效。 你的剧本叫什么名字? Best Answer oli206 2010-10-21T03:44:19+08:002010-10-21T03:44:19+08:00 为什么不使用 crontab ( /etc/crontab ) 并在小时字段中使用 */1。我用它每 5 分钟运行一次脚本,效果很好: # m h dom mon dow user command * */1 * * * user command Ben Lin 2014-08-08T13:10:55+08:002014-08-08T13:10:55+08:00 DaithiF 的答案应该是正确的答案。 此外,我的脚本没有#!/bin/bash在第一行。即使脚本可以使用命令行执行,run-parts也拒绝它说“执行格式错误”。 将文件名从scriptname.shto更改scriptname并添加#!/bin/bash到第一行使我的脚本可以每小时运行一次。 Cry Havok 2010-10-21T00:24:52+08:002010-10-21T00:24:52+08:00 您的问题可能归结于过度开放的权限,它允许任何人编辑您的文件。试试755吧。 查看系统日志输出中的 cron 条目应该可以确认这一点。 Wolfy 2010-10-21T00:08:00+08:002010-10-21T00:08:00+08:00 当你跑 crontab -l 这个任务在清单上吗? 如果没有,添加它 crontab -e 添加这一行 0 * * * * yourScript 如果它在此列表中,请尝试将编程语言的路径添加到脚本的顶部 例子: bash: #!/bin/bash 这两件事总是解决我的问题:)
中的条目
cron.hourly
由 run-parts 机制运行(man run-parts
更多信息)。并且run-parts
对它认为有效的文件名很挑剔。例如,为您的脚本提供扩展名将使其无效并导致作业无法运行。
[a-zA-Z0-9_-]
是有效字符,所以 '.' 使其无效。/etc/cron.hourly
向( 或.daily
,.weekly
等)添加作业时,请务必在之后run-parts
通过发出以下命令进行实际运行测试:如果通过运行此命令,它会显示您的文件,这意味着它有效。否则,如果没有显示任何内容,则您的文件名无效。
你的剧本叫什么名字?
为什么不使用 crontab ( /etc/crontab ) 并在小时字段中使用 */1。我用它每 5 分钟运行一次脚本,效果很好:
DaithiF 的答案应该是正确的答案。
此外,我的脚本没有
#!/bin/bash
在第一行。即使脚本可以使用命令行执行,run-parts
也拒绝它说“执行格式错误”。将文件名从
scriptname.sh
to更改scriptname
并添加#!/bin/bash
到第一行使我的脚本可以每小时运行一次。您的问题可能归结于过度开放的权限,它允许任何人编辑您的文件。试试
755
吧。查看系统日志输出中的 cron 条目应该可以确认这一点。
当你跑
这个任务在清单上吗?
如果没有,添加它
添加这一行
如果它在此列表中,请尝试将编程语言的路径添加到脚本的顶部
例子:
这两件事总是解决我的问题:)