第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > centos 自动运行python脚本 centos配置 Python 定时任务

centos 自动运行python脚本 centos配置 Python 定时任务

时间:2022-09-15 00:52:47

相关推荐

centos 自动运行python脚本 centos配置 Python 定时任务

centos 实现自动运行 Python 脚本

正式配置前,先编写一段 Python 脚本,实现日志写入文件操作

import osimport sysimport loggingcurrent_path = os.getcwd() # 获取当前目录logging.basicConfig(level=logging.INFO, filename=current_path + '/new.log',filemode='a',format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')logging.info("写入日志")

centos中测试定时任务

使用crontab进行定时任务的处理,如果没有安装可以自行百度进行设置。

在正式使用crontab前,需要提前了解一下crondcrondcrontab是密切相关了,crondlinux中用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows的计划任务类似,crontab是一个编辑或者说是管理定时任务的工具。

简单理解就是 crond是一个服务,crontab是一个命令。

与之相关的命令有

yum install crontabssystemctl enable crond (开机启动)systemctl start crond(启动 `crond` 服务)systemctl stop crond(停止服务)systemctl restart crond (重启服务)systemctl reload crond (重载配置文件)systemctl status crond (查看状态)

测试状态之后,展示为active(running)即表示成功。

crontab文件

用户所建立的crontab文件中,每一行都代表一项任务每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

在正式开始前,可以使用crontab -l查看一下已经开启了哪些定时任务。

crontab -l

其余crontab常见的命令如下:

crontab -u:设定某个用户的crond服务crontab -e:编辑crontab文件(编辑定时任务)crontab -r:删除crontab文件(删除定时任务)crontab -i:删除crontab文件提醒用户(删除定时任务)

详细配置

上文已经提及了一个定时任务的6个字段,其取值分别为:

minute hour day month week command

上述字段分别是:分,时,日,月,周,命令

第1列表示分钟1~59 每分钟用*或者*/1表示;

第2列表示小时1~23(0表示0点);

第3列表示日期1~31;

第4列表示月份1~12;

第5列标识号星期0~6(0表示星期天);

第6列要运行的命令;

*:任意时间,可以代表00-23小时或者00-12每月或者00-59分,例如0 9 * * * cmd表示每月每周每日的 9:00 都执行cmd任务;

-:表示区间,是一个范围,例如00 17-19 * * * cmd,就是每天17, 18, 19点的整点执行命令;

,:是分割时段,例如30 1,3,5 * * * cmd,就是每天凌晨1点30,3点30,5点30都执行命令;

/nn为数字,表示分割,每隔n单位时间,可以看成除法,*/6 * * * * cmd,每隔6分钟执行一次。

设置定时任务

crontab -e:直接写入定时任务

*/1 1-2 * * * root /usr/bin/python3 /var/test1.py*/1 1-2 * * * root /usr/bin/python3 /var/test2.py

vim /etc/crontab:文件形式添加任务

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executed1 * * * * /usr/bin/python3 /usr/test/test.py

重新加载配置

service crond reload

重启cron

service crond restart

两种方法的区别

crontab -e对应的是用户级,vim /etc/crontab对应的系统级的。

crontab -evim /etc/crontab修改语法格式不一样,后者多一个user指定。

查看文件的权限

ls /etc/crontab -lh

查看任务是否添加

crontab -l -u root

在 centos 查找文件

find / -name xxxx.conf # 在根目录查找find /var -name xxxx.conf # 在 var 目录查找

记录时间

度 Flag,写作的 564 / 1024 篇。

可以关注我,点赞我、评论我、收藏我啦。

更多精彩

Python 爬虫 100 例教程导航帖(连续 3 年,不断更!)Python爬虫120 (39.9 元,保 5 年更新)👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。