我对cron和crontab相当陌生。crontab和测试要执行的命令
我编辑了crontab文件,我需要手动执行其中一个命令,以便我可以尝试并预先测试它。我怎么做?如果失败,是否有一个显示错误的模式?
我对cron和crontab相当陌生。crontab和测试要执行的命令
我编辑了crontab文件,我需要手动执行其中一个命令,以便我可以尝试并预先测试它。我怎么做?如果失败,是否有一个显示错误的模式?
cron
几乎没有提供任何环境 - 所以你的脚本可能不得不解决这个问题。特别是,您的个人资料将不会被使用。不,没有具体显示错误的模式。通常,如果cron作业有问题,输出将通过电子邮件发送给您。也就是说,如果执行的命令将任何内容写入标准输出或标准错误,它会向您发送标准输出和标准错误信息。
在MacOS X(10.6.7),我得到的环境下(通过crontab
进入像12 37 17 5 * env >/tmp/cron.env
):
SHELL=/bin/sh
USER=jleffler
PATH=/usr/bin:/bin
PWD=/Users/jleffler
SHLVL=1
HOME=/Users/jleffler
LOGNAME=jleffler
_=/usr/bin/env
其中,PWD
,_
和SHLVL
由shell进行处理。因此,为了可靠地测试你的脚本在cron般的环境中,使用:
(cd $HOME
env -i \
SHELL=/bin/sh \
USER=$USER \
PATH=/usr/bin:/bin \
HOME=$HOME \
LOGNAME=$LOGNAME \
/path/to/script/you/execute ...
)
的-i
选项env
手段“忽略所有继承的环境”;该脚本将完全看到指定的五个值以及shell自动指定的任何值。没有参数,env
报告环境;有参数,它调整环境并执行命令。
执行脚本“手动”你首先必须做,使其可执行:
$ chmod +x yourScriptName
然后做任何
$ ./yourScriptName
如果从它的路径执行它
或
$ /full/path/to/yourScriptName
从任何地方。