centos7 设置python3定时任务

一、前言

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

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

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

二、接下来进入正题

首先了解crontab命令:

centos7 设置python3定时任务_第1张图片

图是网上找的。从图上可以看出前面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

你可能感兴趣的:(Python,liunx,crontab,crontab定时任务任务,centos7,python3定时任务)