【排查BUG】CRON定时任务无输出结果,手动执行命令成功,问题排查记录

用cron定时跑scrapy爬虫命令,没跑起来(数据库里没更新数据),脚本文件和cron文件如下

#run_spider.sh
#!/bin/bash
set -ex

# 生成随机延迟时间,范围为 0 到 59 分钟
delay=$((RANDOM % 60))

# 等待随机延迟时间(秒)
sleep ${delay}s

# 运行您的爬虫命令
cd /home/ubuntu/project/waterDataScrapy && scrapy crawl main_water
0 * * * * . /etc/profile && /bin/bash /home/ubuntu/cron/run_spider.sh

排查过程

1 手动执行脚本里的命令是ok的
/bin/bash /home/ubuntu/cron/run_spider.sh

2 cron的日志里有执行的记录
grep CRON /var/log/syslog
在这里插入图片描述

3 给sh里的命令加上了输出日记,且爬虫数据处理后会输出一下

cd /home/ubuntu/project/waterDataScrapy && scrapy crawl main_water >> scrapy.log

日记里没有任何输出,应该是没执行到

4 在cron文件中给执行sh文件加上日志

0 * * * * . /etc/profile && /bin/bash /home/ubuntu/cron/run_spider.sh >> /home/ubuntu/cron/clog.log 2>&1

找到问题了说scrapy命令不存在
在这里插入图片描述
可在脚本里将scrapy加入PATH,或者直接指定绝对路径

ubuntu@VM-12-13-ubuntu:~/project/waterDataScrapy$ which scrapy
/usr/local/qcloud/python/bin/scrapy
cd /home/ubuntu/project/waterDataScrapy && /usr/local/qcloud/python/bin/scrapy crawl main_water >> scrapy.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值