当我使用root手动运行脚本时,它运行正常。当我在cron中执行相同的脚本时,它没有运行。我检查了cron实际上是在调用脚本但脚本没有执行。我将脚本中的echos输出导出到文本文件,但文本文件没有记录任何内容。请检查此cron
*/10 * * * * sh /var/www/sym_monitor/restart.sh > /var/www/migrate/root_restart.txt
答案 0 :(得分:5)
避免键入完整可执行路径的另一种方法是将shell全局变量放在crontab
的顶部:
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
MAIL=me@domain.tld
*/10 * * * * stuff > log 2>&1
请注意> log 2>&1
语法以记录STDERR
和&日志文件中的STDOUT
答案 1 :(得分:3)
尝试更改sh
的{{1}}。
/bin/sh