定时执行python脚本

crontab -e:写入定时任务

10 8 * * * 表示每天早上8点10执行此命令.
后面的python3路径和脚本路径要写绝对路径.
并且指定日志输出文件.

10 8 * * * /usr/bin/python3 /home/gsky/ebank/everydayTaskGetTtkn2.py >/home/gsky/ebank/everyday.txt 2>&1 &

crontab -i: 显示用户定时任务

修改定时任务之后要重启: service cron restart


/var/log下没有cron日志
  1. 修改rsyslog: sudo vim /etc/rsyslog.d/50-default.confcron.* /var/log/cron.log #将cron前面的注释符去掉

  2. 重启rsyslogsudo service rsyslog restart

  3. 查看crontab日志less /var/log/cron.log


执行任务不成功,提示No MTA installed, discarding output

解决方案: 指定日志输出文件(gsky) CMD (/usr/bin/python3 /home/xxx/xxx/everydayTaskGetTtkn2.py >/home/xxx/xxx/everyday.txt 2>&1 &


提示找不到python的第三方库

解决方案:因为我的第三方库是个人用户下载的, 而cron默认是root用户执行, 在root用户下找不到这些第三方库.
需要在个人用户下执行命令crontab -e来新建定时任务 ,而不是sudo crontab -e


cron执行时提示某个命令not found

例如在cron定时执行的python脚本里, 有一句os.system("hrun %s" % './main.json')
如果日志文件里,提示sh:1: hrun: not found , 而手动执行可以成功, 则是cron的环境变量配置问题.
首先查看服务器httprunner框架装在哪里: which httprunner ,如果输出/usr/local/bin/httprunner,则在crontab里最上方加入环境变量即可:PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值