【发布时间】:2018-03-15 22:59:44
【问题描述】:
我尝试设置一个 cron 作业来执行一个 python 测试程序(rm 文件夹中的一个文件),但它不起作用。 我尝试了不同的东西: - 使用脚本 sh 运行程序 - 使用 crontab 中的命令直接运行操作
当我从终端启动 test.sh 时,它运行良好。当我直接在 crontab 命令中启动 rm 文件时,它也可以工作,但是从 crontab 启动脚本 sh 时没有任何反应......
这是我的 cron 选项卡:
*/5 * * * * run_auto_resp_ads.sh
37 14 * * * test.sh
18 14 * * * rm ~/Rendu/test_cron/lol.py
这是 test.sh 内容:
#!/bin/sh rm ~/Rendu/test_cron/lol2.py
当我检查我的 cron 日志时,任务正在运行:
Mar 15 14:21:01 AcerA17 CROND[14905]: (mjz) CMD (test.sh)
Mar 15 14:18:01 AcerA17 CROND[12944]: (mjz) CMD (rm ~/Rendu/test_cron/lol.py)
我还检查了文件权限。
有什么想法吗? 非常感谢:)
【问题讨论】:
-
对 cron 中的所有内容使用绝对路径。
-
或者,更好的是,将
PATH=/bin:/usr/bin:/usr/local/bin放在 crontab 的顶部,这将为它运行的所有作业导出该变量。同样,HOME=/Users/magali或其他适当的名称。 -
顺便说一句,
sh和bash是两个不同的外壳。在你的标题中使用一个,在你的标签中使用另一个充其量是令人困惑的。