crontab 定时任务执行不生效

日志显示执行

[root@AlexWong weather]# tail -f /var/log/cron
Feb  5 20:04:01 AlexWong CROND[151652]: (root) CMD (sh /project/python/scrapy/weather/run.sh >/dev/null 2>&1)
Feb  5 20:06:01 AlexWong CROND[151692]: (root) CMD (sh /project/python/scrapy/weather/run.sh >/dev/null 2>&1)
Feb  5 20:07:14 AlexWong crontab[151714]: (root) LIST (root)
Feb  5 20:08:01 AlexWong CROND[151764]: (root) CMD (sh /project/python/scrapy/weather/run.sh >/dev/null 2>&1)
Feb  5 20:09:33 AlexWong crontab[151810]: (root) BEGIN EDIT (root)
Feb  5 20:09:45 AlexWong crontab[151810]: (root) REPLACE (root)
Feb  5 20:09:45 AlexWong crontab[151810]: (root) END EDIT (root)
Feb  5 20:09:48 AlexWong crontab[151812]: (root) LIST (root)
Feb  5 20:10:01 AlexWong crond[1465]: (root) RELOAD (/var/spool/cron/root)
Feb  5 20:10:01 AlexWong CROND[151815]: (root) CMD (sh /project/python/scrapy/weather/run.sh )
Feb  5 20:12:01 AlexWong CROND[151857]: (root) CMD (sh /project/python/scrapy/weather/run.sh )

但是sh /project/python/scrapy/weather/run.sh却没有生效

解决方案
移动脚本到etc增加环境变量
里面的环境变量 这样就是为了保证 crontab 里面实行的脚本环境变量为一致

# 获取环境变量
[root@AlexWong cron]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/soft/build/jdk/bin:/opt/nginx/sbin:/opt/redis/bin:/opt/python/bin:/opt/soft/build/jdk/bin:/opt/nginx/sbin:/opt/redis/bin:/opt/python/bin:/root/bin

# 把环境变量增加到脚本中
[root@AlexWong /]# vim /project/python/scrapy/weather/run.sh
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/soft/build/jdk/bin:/opt/nginx/sbin:/opt/redis/bin:/opt/python/bin:/opt/soft/build/jdk/bin:/opt/nginx/sbin:/opt/redis/bin:/opt/python/bin:/root/bin"
cd /project/python/scrapy/weather/weather
scrapy crawlall

# 移动脚本到/etc
[root@AlexWong /]# cp /project/python/scrapy/weather/run.sh /etc/weather.sh
[root@AlexWong /]# chmod 777 /etc/weather.sh

# 修改路径
[root@AlexWong cron]# crontab -e
crontab: installing new crontab
[root@AlexWong cron]# crontab -l
*/30 * * * * sh /etc/newinit.sh >/dev/null 2>&1
*/2 * * * * sh /etc/weather.sh

再次执行生效了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值