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

 更新时间:2022年03月16日 14:25:17   作者:梦想橡皮擦  
这篇文章主要介绍了centos 自动运行python脚本和配置 Python 定时任务,文章内容介绍详细,需要的小伙伴可以参考一下,希望对你有所帮助

一、centos 实现自动运行 Python 脚本

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

import os
import sys
import logging

current_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 前,需要提前了解一下 crond , crond 和 crontab 是密切相关了, crond 是 linux 中用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows的计划任务类似, crontab 是一个编辑或者说是管理定时任务的工具。
简单理解就是 crond是一个服务,crontab是一个命令。

与之相关的命令有:

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

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

1.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文件提醒用户(删除定时任务)

2.详细配置

上文已经提及了一个定时任务的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都执行命令;
    • /n:n 为数字,表示分割,每隔 n 单位时间,可以看成除法,*/6 * * * * cmd,每隔6分钟执行一次。

3.设置定时任务

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/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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 executed
1 * * * * /usr/bin/python3 /usr/test/test.py

重新加载配置:

service crond reload

重启cron

service crond restart

两种方法的区别:

  • crontab -e 对应的是用户级, vim /etc/crontab 对应的系统级的。
  • crontab -e 与 vim /etc/crontab 修改语法格式不一样,后者多一个user指定。

查看文件的权限:

ls /etc/crontab -lh

查看任务是否添加:

crontab -l -u root

在 centos 查找文件:

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

到此这篇关于centos 自动运行python脚本和配置 Python 定时任务的文章就介绍到这了,更多相关centos 运行python脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python通过递归函数输出嵌套列表元素

    Python通过递归函数输出嵌套列表元素

    这篇文章主要介绍了Python通过递归函数输出嵌套列表元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python中的jquery PyQuery库使用小结

    Python中的jquery PyQuery库使用小结

    这篇文章主要介绍了Python中的jquery PyQuery库使用小结,需要的朋友可以参考下
    2014-05-05
  • Python提取PDF指定内容并生成新文件

    Python提取PDF指定内容并生成新文件

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析。感兴趣的可以了解一下
    2021-06-06
  • Python实现快速排序算法及去重的快速排序的简单示例

    Python实现快速排序算法及去重的快速排序的简单示例

    quick sort快速排序是一种再基础不过的排序算法,使用Python代码写起来相当简洁,这里我们就来看一下Python实现快速排序算法及去重的快速排序的简单示例:
    2016-06-06
  • Python基础知识点 初识Python.md

    Python基础知识点 初识Python.md

    在本篇文章中我们给大家总结了关于Python基础知识点,通过初识Python.md的相关内容分享给Python初学者,一起来看下吧。
    2019-05-05
  • Python编写屏幕截图程序方法

    Python编写屏幕截图程序方法

    这篇文章主要介绍了Python编写屏幕截图程序方法,本文讲解使用开源程序pywin32实现屏幕截图和读取剪切板功能,需要的朋友可以参考下
    2015-02-02
  • TensorFlow的权值更新方法

    TensorFlow的权值更新方法

    今天小编就为大家分享一篇TensorFlow的权值更新方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python中的Numpy 面向数组编程常见操作

    Python中的Numpy 面向数组编程常见操作

    这篇文章主要介绍了Python中的Numpy 面向数组编程常见操作,使用Numpy数组可以使你利用简单的数组表达式完成多项数据操作任务,而不需要编写大量的循环,这个极大的帮助了我们高效的解决问题
    2022-07-07
  • Python在内网安装python第三方包(库)的方法

    Python在内网安装python第三方包(库)的方法

    日常我们工作的计算机环境是内网,做项目需要安装python 第三方库,在外网一般使用"pip install 包名"很快就安装上了,但是在内网无法连接pypi网站或者国内镜像,那该如何安装呢,下面小编给大家带来了Python如何在内网安装python第三方包库,感兴趣的朋友一起看看吧
    2024-01-01
  • Python列表之间的数字与字符转化实例

    Python列表之间的数字与字符转化实例

    在python列表操作中,面对需要把列表中的字符串转为礼拜的操作,无需强转,通过简单的几步就可以实现,下面这篇文章主要给大家介绍了关于Python列表之间的数字与字符转化的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论