解决手动运行脚本执行正常而放入crontab后不正常的方法

2017年2月12日 由 Creater 留言 »

写了一个shell脚本放到crontab中,结果看了看,cron执行了脚本,但是却没有执行后应有的效果,手工执行这个脚本是正常的,脚本的权限也是755,没有问题,但是就是在任务中执行没有效果,不知道是怎么回事,后来在同事(网管)的帮助下解决了,解决方法很简单,在脚本最前面写上 cd到脚本所在目录就可以了,但是在实际使用过程中还是有很多莫名的错误。
#定义脚本运行的目录
app_path=”/your/app/path”
#cd到运行目录(不这样做脚本不会正常执行)
cd $app_path

彻底解决需要 导入环境变量
有两种导入方法:

1.在crontab -e编辑时加入

. /etc/profile;/bin/sh #主要"."后要有个空格

#例子

0 12 * * * . /etc/profile;/bin/sh /your/sh/your_sh.sh

2.在你要运行的脚本的开头加入

source /etc/profile
广告位

发表评论

你必须 登陆 方可发表评论.