写了一个perl脚本,手动运行的时候毫无问题。
希望用crontab来定时运行,于是crontab -e 然后写入:
*/1 * * * * /defusion/data/pipeline/pipeWeb-bin/pipe_runningtime.pl
结果不断发来email,表示
脚本里头的一些bash命令(如qstat):command not found
起初非常疑惑,后来看到email中的提示:
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/pipeline>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=pipeline>
X-Cron-Env: <USER=pipeline>
而qstat的位置为:/usr/local/bin
所以没办法使用。
解决方法,在当前用户pipeline的~/.bashrc中加入qstat的路径:
export PATH=/usr/local/bin:"$PATH"
然后crontab -e,写入
*/1 * * * * source ~/.bashrc && /defusion/data/pipeline/pipeWeb-bin/pipe_runningtime.pl
这样就ok了。
我是参考到如下文献得到的答案:
http://blog.163.com/qingfeng_0105@126/blog/static/7506273820112824645990/
希望用crontab来定时运行,于是crontab -e 然后写入:
*/1 * * * * /defusion/data/pipeline/pipeWeb-bin/pipe_runningtime.pl
结果不断发来email,表示
脚本里头的一些bash命令(如qstat):command not found
起初非常疑惑,后来看到email中的提示:
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/pipeline>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=pipeline>
X-Cron-Env: <USER=pipeline>
而qstat的位置为:/usr/local/bin
所以没办法使用。
解决方法,在当前用户pipeline的~/.bashrc中加入qstat的路径:
export PATH=/usr/local/bin:"$PATH"
然后crontab -e,写入
*/1 * * * * source ~/.bashrc && /defusion/data/pipeline/pipeWeb-bin/pipe_runningtime.pl
这样就ok了。
我是参考到如下文献得到的答案:
http://blog.163.com/qingfeng_0105@126/blog/static/7506273820112824645990/