我有一个脚本crontab的工作不工作
5 05 * * * /bin/bash -l -c 'nohup sh test.sh &'>/dev/null 2>&1
它运行在bash知府,但是当我把它放在crontab中这是行不通的。当它在远程服务器上运行时,我认为时区可能是问题所在。我在服务器上运行date
,输出是Fri Jan 10 05:10:02 UTC 2014
。为什么它不起作用?
我有一个脚本crontab的工作不工作
5 05 * * * /bin/bash -l -c 'nohup sh test.sh &'>/dev/null 2>&1
它运行在bash知府,但是当我把它放在crontab中这是行不通的。当它在远程服务器上运行时,我认为时区可能是问题所在。我在服务器上运行date
,输出是Fri Jan 10 05:10:02 UTC 2014
。为什么它不起作用?
您可能想指定一切的完整路径。如果没有明确定义,克朗人很难找到事物。另外,如果你在test.sh中有路径,你也可以指定它们。
此外,如果你有麻烦,但不知道为什么它不起作用,如果你把MAILTO ='你的电子邮件地址'放在最上面并且把输出管道去掉>/dev/null,它可能会帮助你找出错误是什么。
谢谢我尝试完整路径和电子邮件,但没有电子邮件,没有输出! – Sara
您是否将cron的测试时间更改为当前时间?还有,你在将它管道到/ dev/null之后在做什么? – user1332577
如@ user1332577所示建议需要test.sh的完整路径。还removind/dev/null部分将转储错误。
另外首先检查cron日志,它们可能位于/ var/log/cron OR/var/log/syslog取决于设置。如果他们没有在特定时间输入这个特定的cron。那么显然cron没有启用。它还可以帮助您检查执行时的时间戳。
什么在你的test.sh? –
这是ls的命令,很简单的事情。即使使用简单回声“hi”它也不起作用 – Sara
它可能没有关系,但可以尝试在'>/dev/null'的'>'之前放置一个空格。 –