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

目录
  • 一、centos实现自动运行Python脚本
  • 二、centos中测试定时任务
    • 1.crontab文件
    • 2.详细配置
    • 3.设置定时任务

一、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脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿里云本文不做描述. 实用工具 首先进入阿里云后先要升级下apt-get, 并下载所需软件 sudo apt-get update sudo apt-get install vim git wget tmux 我还会使用zsh和oh-my-zsh来替换bash sudo apt-get install zsh # 终端下打以下命令 wget --no-check-certif

  • VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解

    本文实例讲述了VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法.分享给大家供大家参考,具体如下: 昨天试用了VPS,花了一天部署了一个简单应用.在下面的过程中省去了用django 创建project的一步,忘记了你自己一用startporject 创建. 下面是原来边操作,边记录的东西,我习惯文本编辑.可能格式不好看.现在搬到博客中来. 首先安装GCC. yum -y install gcc automake autoconf libtool ma

  • centos 安装python3.6环境并配置虚拟环境的详细教程

    python3.6下载地址: https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux 下python 环境配置 统一目录: 源码存放位置 $HOME/tools 安装目录: /application 安装python 环境: 1.  下载 # 创建下载目录 mkdir $HOME/tools # 切换到tools统一管理源码目录 cd $HOME/tools wget https://www.python.org/ftp/py

  • 在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程

    Python基础环境搭建 CENTOS 6.X 系列默认安装的 Python 2.6 ,目前开发中主要是使用 Python 2.7 ,这两个版本之间还是有不少差异的,程序在 Python 2.6 下经常会出问题. 比如: re.sub 函数 ,2.7 支持 flags 参数,而 2.6 却不支持. 所以,打算安装 Python 2.7 来运行 Flask 应用程序,但 2.6 不能删除,因为系统对它有依赖. 1.安装 sqlite-devel 因为 Flask 应用程序可能使用能 Sqlite

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

    目录 一.centos实现自动运行Python脚本 二.centos中测试定时任务 1.crontab文件 2.详细配置 3.设置定时任务 一.centos 实现自动运行 Python 脚本 正式配置前,先编写一段 Python 脚本,实现日志写入文件操作: import os import sys import logging current_path = os.getcwd() # 获取当前目录 logging.basicConfig(level=logging.INFO,        

  • 详解程序意外中断自动重启shell脚本(以Python为例)

    我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情:但是 由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉.为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启. 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的Python脚本为例) #!/bin/bash while [ 1 ];do python run

  • 编写Python脚本批量配置VPN的教程

    缘起 大家都知道,最近的网络不怎么和谐,速度慢不说,VPN 还总断,好在云梯 提供了挺多的服务器可以切换, 但云梯的服务器又挺多,Linux 的 Network Manager 又不支持批量添加配置,甚至配置文件都不能复制新建, 每个服务器的配置都得手动加,非常麻烦. 当然,也可以每次切换时打开配置,光改地址,但是这也非常不方便. 作为一个合格的开发人员,当然会想到用程序批量生成配置,我选择使用 Python. 寻找配置文件的位置 要批量创建配置,首先得知道配置文件在哪里,比如自己的云梯 VPN

  • 让IIS7.5 执行Python脚本的配置方法

    [详细步骤]: 1. 从Python下载windows版本的安装程序(点击进入),我这里由于操作系统是x64的因此选择Python 2.7.11 x64 Installer ~ 2. 安装,这里建议不要安装到系统盘,以免重做系统后再次安装~ 3. IIS7.5->ISAPI和CGI限制->右键添加->ISAPI或CGI路径选择Python文件夹下的python.exe %s %s:描述中填写:python. 4.IIS7.5->处理程序映射->添加脚本映射->请求路径:

  • 运行python脚本更改Windows背景

    在我们开始之前,一定要注意这篇文章只针对Windows用户!对于那些使用Windows的人来说,这是一个有趣的想法. 如果您想使用python更改桌面背景,您会做什么?您可能要去一个库或寻找一个库,但是这不需要Windows中的库,您可以在不安装特殊库和使用ctype的情况下更改背景. 实际上,可以使用常用的命令更改桌面背景,以更改ctype中的系统参数.(让我们写一个面向对象的程序,这样我们的工作就干净有序了.) import ctypes class Main:     def __init

  • 微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧

    前言 小程序跳一跳最近很火,之前爆出微信游戏小程序漏洞,网上也不乏大神.这里就用一大神的python脚本来刷下高分. 跳一跳python脚本传送门 配置过程 注: 电脑环境未配置python环境,请自行谷歌或者百度配置,这里不再做叙述. 1. 将上述传送门整个项目拷贝到本地(用git命令,或者直接压缩包下载,这里大家随意).比如我这里下载压缩包,解压我电脑以下的目录. 2. 楼主用的是 ios , 操作起来比较繁琐,也懒得找测试要 Android 测试机,所有就下了模拟器测试,首推雷电模拟器,安

  • 在node中如何调用python脚本

    目录 node调用python脚本 使用场景 1.准备运行环境,获取python路径 2.前端把命令字符串和python路径传给后端 3.服务端调用python脚本 nodejs调用python输出中文乱码 解决方法如下 node调用python脚本 使用场景 在某测试项目需要用到eload仪器为待测产品添加载荷,然后用dmm仪器测量电压,eload仪器与dmm仪器与电脑的连接都是usb接口,那么软件如何控制这两个usb连接的仪器呢. 通过搜索发现npm上有一个usb的依赖包,它可以查询到与电脑

  • 使用IronPython把Python脚本集成到.NET程序中的教程

    从两个优秀的世界各取所需,更高效的复用代码.想想就醉了,.NET和python融合了."懒惰"的程序员们,还等什么? Jesse Smith为您展示如何两个语言来服务同一个.NET程序.你能集两家所长:Python和.NET一起工作,提供可重用的代码功能而不需要你为了一个环境重写代码库. 通过使用IronPython 运行时库,你可以让Python脚本运行在你的.NET程序中.本文向你展示如何使用一个.NET程序中的python脚本获取并展示用户反馈. 如果你曾经有在一个.NET程序中

  • python脚本实现音频m4a格式转成MP3格式的实例代码

    前言 群里看到有人询问:谁会用python将微信音频文件后缀m4a格式转成mp3格式,毫不犹豫回了句:我会. 然后就私下聊起来了 解决方法介绍如下: 工具:windows系统,python2.7,转换库ffmpeg 安装ffmpeg库:下载对应电脑系统版本 https://ffmpeg.zeranoe.com/builds/ 我这里用的是window 64位 这里由于路径问题,我没有把ffmpeg加入到系统环境变量中,所以我用的是绝对路径 C:/Users/Administrator/Downl

  • Python脚本提取fasta文件单序列信息实现

    目录 Python脚本编辑 使用的文件 输入 sys模块 从命令行获得文件名称 进行序列信息统计的函数 使用def制作一个函数 .format使用: 进行函数计算 结果屏幕展示 结果输出文件 脚本运行 Python脚本编辑 使用Python对fasta格式的序列进行基本信息统计 预期设计输出文件中包括fasta文件名,序列长度,GC含量以及ATCG各自的含量. 使用的文件 test.fasta stat.py 输入 sys模块 #!/usr/bin/env python import sys 从

随机推荐