Board logo

标题: linux--shell--crontab定义运行任务(6) [打印本页]

作者: look_w    时间: 2019-5-18 09:39     标题: 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之后,总不能得到自己想要的结果, 总感觉脚本没有被执行。
或者执行后没有得到正常的结果。很多均是由于没有加载所在用户的环境变量所引起的。因此最好在自己的脚本首两行添加环境变量的导入。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0