centos7 设置python3定时任务

一、前言

1、最近写了一个爬虫放在了服务器上,想让他每天定时去采集更新数据。百度了很久终于摸清了centos下设置定时任务。

2、我们需要先确定服务器安装了python3 与 crontab。python3在centos7的安装我前面有写过。crontab 默认是安装了的。可以直接输入crontab查看是否安装。

在说crontab之前我要先给不熟悉linux的小伙伴说一下。liunx下默认的文本编辑软件是vi。这是一个命令文本编辑软件。具体操作可以自行百度了解。

二、接下来进入正题

首先了解crontab命令:

图是网上找的。从图上可以看出前面5个值来设置时间。后面是跟的命令。

例:

30 21 * * * /etc/init.d/nginx restart             //每晚的21:30重启 nginx。
45 4 1,10,22 * * /etc/init.d/nginx restart        //每月1、 10、22日的4 : 45重启nginx。
10 1 * * 6,0 /etc/init.d/nginx restart            //每周六、周日的1 : 10重启nginx。
0,30 18-23 * * * /etc/init.d/nginx restart        //每天18 : 00至23 : 00之间每隔30分钟重启

1、这里需要注意第一个分钟一定要设置数字。否则如果它是*。它会每分钟都执行。

2、如果用到环境变量时需要带上完整路径。

例:

0 7,13 * * * /usr/bin/python3 /www/wwwroot/dsgdm.net/pachong/Main.py

每天的7点与13点执行/www/wwwroot/dsgdm.net/pachong/Main.py。如果没有前面的/usr/bin/python3就会无法执行。

三、实际操作

可能上面的看懵逼了。没关系。接下来一步一步我们开始添加一个任务。

crontab -e

输入上面的命令进入任务编辑。这时启动的是vi命令编辑器

按a进入编辑模式。

输入

0 7,13 * * * /usr/bin/python3 /www/wwwroot/dsgdm.net/pachong/Main.py

按下esc或者ctrl + c 然后按下shift+q 这时提示你输入命令。输入:wq  。w是保存。q是退出。

添加成功后显示

crontab: installing new crontab

这时基本就完成了。但是我们并不知道它到时间到底执行了没有。怎么办呢。我们可以让python的print函数输出成日志。

这样就知道脚本到底执行了没法。方法是:

0 7,13 * * * /usr/bin/python3 /www/wwwroot/dsgdm.net/pachong/Main.py>>/home/qin.txt

这样就会在home文件夹下创建qin.txt。你脚本中的print都会写入到这个文件。

如果遇到命令可以启动,但是定时任务却不能正常启动,多数原因是运行环境问题。可以尝试将目录切换到程序目录,再执行。例如:

0,30 * * * * cd /opt/huanyu/ && /usr/bin/python3 ZheJiangHuanYu.py>>/opt/huanyu/out.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能-肥鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值