我对cron和crontab很新。
我已经编辑了crontab文件,我需要手动执行其中一个命令,这样我就可以尝试并事先测试它。我怎么做?如果失败,是否有显示错误的模式?
答案 0 :(得分:1)
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
的{{1}}选项意味着“忽略所有继承的环境”;该脚本将完全看到指定的五个值以及shell自动指定的任何值。没有参数,env
报告环境;通过参数,它可以调整环境并执行命令。
答案 1 :(得分:0)
要“手动”执行脚本,首先必须通过执行以下操作使其可执行:
$ chmod +x yourScriptName
然后做任何一次
$ ./yourScriptName
如果您从路径或
执行它$ /full/path/to/yourScriptName
来自任何地方。