linux--shell--crontab定义运行任务(6)
- UID
- 1066743
|
linux--shell--crontab定义运行任务(6)
可能遇到问题
Logwatch query about Cron : ERROR (getpwnam() failed
设置完crond之后运行报错
Logwatch query about Cron : ERROR (getpwnam() failed
原因
没有指定运行sh的用户名和shell脚本的运行方式
解决方式
添加用户名和运行方式(可选)
例如
0 0 * * * sh /script/check.sh
修改为
0 0 * * * root /script/check.sh
或者
0 0 * * * root sh /script/check.sh
或者
0 0 * * * root /usr/local/bash /script/check.sh
在遇到了一些sh不能在crontab定时任务中自动执行的问题时
可以按照下面的思路排除问题。
1,首先确保sh脚本具有可执行属性
chmod +x ***.sh
或
chmod +777 ***.sh
2,确保sh脚本手工执行正常
即在当前系统内手工执行sh脚本以后能收到自己期望得到的结果
3,加载环境变量
这个问题是经常容易被忽略的问题,通常我们在第二步的时候手动执行脚本能得到自己想要的结果,可是设置好crontab之后,总不能得到自己想要的结果, 总感觉脚本没有被执行。
或者执行后没有得到正常的结果。很多均是由于没有加载所在用户的环境变量所引起的。因此最好在自己的脚本首两行添加环境变量的导入。 |
|
|
|
|
|