crontab 未运行计划脚本文件

crontab 未运行计划脚本文件

CentOS 5.3

我第一次使用 crontab。但是,我似乎无法运行一个简单的脚本文件。

这是我的 crontab 文件:

50 17 * * * /home/dev_user/test_script.sh

它原定于 17:50 发射,但是没有成功。

我的脚本文件test_script.sh

touch myfile.txt

当我执行脚本文件时,它运行正常。

我也重新启动了 crond:

/etc/init.d/crond restart

非常感谢您的建议,

答案1

它是可执行的吗?
在脚本顶部添加以下内容:

#!/bin/sh

-edit-
此外,它可能已经运行,但不在您期望的目录中(取决于您在哪个 crontab 中添加了它)。
将 touch 更改为绝对文件,如 /tmp/myfile.txt

答案2

还可以尝试通过日志文件(/var/log/crond...或类似的文件)进行调试

根据 faker 的回答,如何执行脚本?“sh script”还是“./script”?

答案3

您忘记让用户负责在脚本路径之前运行它。

你的线路应该是:

50 17 * * * dev_user /home/dev_user/test_script.sh

一个小提示,如果你想把它放在 /etc/cron.* 文件夹之一(每小时、每天、每周或每月),请确保删除扩展名 .sh run-parts,负责执行脚本的程序,不要运行包含扩展名的脚本。查看手册页了解更多信息。你可以使用 run-parts 的 --test 参数列出将运行的脚本,如下所示

$ run-parts --test /etc/cron.weekly/
/etc/cron.weekly//apt-xapian-index
/etc/cron.weekly//man-db

答案4

按照其他答案的建议进行操作,并检查 crontab 末尾是否有换行符。(例如,原始 vixie cron 需要此操作)

相关内容