crontab 中脚本不执行
问题:
在集群上,crontab -e新增了一个脚本run.sh每天自动运行,但到其中的qsub run.job,不能自动提交pbs。
手动执行run.sh, 可以提交脚本并成功运行。
解决:
在脚本中添加所有要用到的环境变量路径等,source ww3.env 环境变量文件
原因:
参考 https://www.cnblogs.com/ysisl/archive/2012/04/13/2445219.html
crontab有一个坏毛病,就是它总是不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。
要保证在shell脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。
如果cron不能运行相应的脚本,用户将会收到一个邮件说明其中的原因。