2016年1月20日星期三

非root用户执行crontab时的环境变量

crontab -e,编辑完后,以为会按照指定的执行,结果发现crontab 执行虽然是以用户权限执行的,但是用户的环境根本没加载。

解决法子
1。最笨自然是用root用户里面crontab 然后 su - user -c "script.sh"咯
2。其实写script的时候,最前面加上-l就可以啦,#!/bin/bash -l这样子。也可以放job前面
* * * * * bash -l script.sh
3。要不然就是job的前面,加载也可以 . ~/.bash_profile;script.sh

没有评论:

发表评论