精华内容
下载资源
问答
  • Linux定时运行Python脚本

    万次阅读 多人点赞 2018-03-09 17:31:00
    Linux–CentOS定时运行Python脚本 最近公司的项目开始进入运营阶段,数据库的记录也开始多了起来。看了postgresql的自动清理好像不太符合需求,暂定对接口请求记录表保留3个月内的记录,既然postgresql不支持那就...

    Linux–CentOS定时运行Python脚本

    最近公司的项目开始进入运营阶段,数据库的记录也开始多了起来。看了postgresql的自动清理好像不太符合需求,暂定对接口请求记录表保留3个月内的记录,既然postgresql不支持那就发挥python的优势,自己写个脚本实现

    执行所需

    • Linux下安装crontab
    • 符合自己需求的python脚本

    由于自己和公司所使用的是云服务器,均已安装crontab,所以这里略过,有需要的小伙伴可以看看博主极客Geek的博客:http://blog.csdn.net/netdxy/article/details/50562864


    操作步骤

    这里有两种方法进行定时任务添加,分别是crontab -e和编辑/etc/crontab。两种方法的语法也略有不同,/etc/crontab的语法比crontab -e多了一个用户字段。

    • crontab -e 用户级,不能设置用户字段
    • /etc/crontab 系统级,只能root用户权限使用,需要设置用户字段

    crontab -e

    这种方式是用户级的,所有用户的可以使用,实际保存在/var/spool/cron/username中。但有的linux系统加在crontab -e会无效,这种方法不会对语法进行校验。具体操作步骤为:

    crontab -e
    • 添加定时任务,如每周一3点执行python脚本
     0 3 * * 1 python /data/www/test.py

    wq保存退出,完毕
    语法为

    # 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
    # |  |  |  |  |
    # *  *  *  *  * command to be executed

    /etc/crontab

    直接编辑/etc/crontab

    # 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

    直接编辑/etc/crontab 比 crontab -e 多了一个用户名字段,该方法是系统级的,必须root权限使用
    步骤:

    vi  /etc/crontab
    • 在后面添加定时任务,如每周一3点执行python脚本
     0 3 * * 1 root python /data/www/test.py

    wq保存退出,完毕

    在此附上python自动清理3个月前postgresql数据表脚本test.py

    #!/usr/bin/python
    
    import psycopg2
    
    conn = psycopg2.connect(database="api_request_log",
                            user="postgresql",
                            password="123456",
                            host="127.0.0.1",
                            port="3432")
    print("Opened DELETE successfully")
    
    cur = conn.cursor()
    
    cur.execute("DELETE from api_request_log where record_time < (now() - interval '2 month');")
    conn.commit()
    print("api_request_log DELETE successfully")
    
    conn.close()

    补充Crontab语法

    该部分转载自http://blog.csdn.net/netdxy/article/details/50562864

    这个文本解释的已经比较直观了,其中
    星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
    逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

    这里举几个例子,基本涵盖了常见的一些情况:

    5      *       *           *     *     ls         指定每小时的第5分钟执行一次ls命令
    30     5       *           *     *     ls         指定每天的 5:30 执行ls命令
    30     7       8           *     *     ls         指定每月8号的730分执行ls命令
    30     5       8           6     *     ls         指定每年的68530执行ls命令
    30     5       8           6     *     ls         指定每年的68530执行ls命令
    30     6       *           *     0     ls         指定每星期日的6:30执行ls命令
    30     3     10,20         *     *     ls         每月10号及20号的330执行ls命令
    25     8-11    *           *     *     ls         每天8-11点的第25分钟执行ls命令
    */15   *       *           *     *     ls15分钟执行一次ls命令
    30     6     */10          *     *     ls         每个月中,每隔106:30执行一次ls命令
    22     4       *           *     *     root     run-parts     /etc/cron.daily
    #每天422以root身份执行/etc/cron.daily目录中的所有可执行文件,run-parts参数表示,执行后面目录中的所有可执行文件。
    展开全文
  • linux 定时执行python脚本

    千次阅读 2018-03-28 21:35:50
    编辑定时任务: ...如果执行的文件在当前目录的二级目录下,则需要先cd进入相应目录,再python: */5 * * * * cd /home/iris/; python aa.py crontab命令格式: command M H D m d command M: 分(0-5...

    编辑定时任务:

    crontab -e

    加入:

    0 4 * * * python /opt/aa.py

    保存,退出即可。

    如果执行的文件在当前目录的二级目录下,则需要先cd进入相应目录,再python:

    */5 * * * * cd /home/iris/; python aa.py

    crontab命令格式:

            • command M H D m d command

    M: 分(0-59) H:时(0-23) D:天(1-31) m: 月(1-12) d: 周(0-6) 0为星期日

    *代表取值范围内的数字 / 代表”每” - 代表从某个数字到某个数字 , 代表离散的取值(取值的列表)

    ==注意脚本中的命令也需要使用全路径,否则crontab找不到==

    http://www.cnblogs.com/zichun-zeng/p/4235585.html

    展开全文
  • 问题: Linux执行 Python 脚本定时任务实现 第一种: 在 Python 脚本写 job 类似 timer 功能 nohup ./xx.py >> ./log.txt 第二种: Linux执行 crontab -e 进行定时执行Python 脚本 问题:Python 脚本定时...

    问题: Linux执行 Python 脚本定时任务实现

    • 第一种: 在 Python 脚本写 job 类似 timer 功能
    nohup ./xx.py >> ./log.txt
    
    • 第二种: Linux执行 crontab -e 进行定时执行Python 脚本

    问题:Python 脚本定时任务执行的问题

    • 指令: ./xx.py >> ./log.txt
    • 单单执行 py 脚本则正常执行,但是定时任务则不执行且相应异常也看不了,主要原因: 执行的程序写相对路径了,定时执行的脚本无法识别
    • 解决:代码去掉相对路径文件操作, python操作文件用绝对路径来读取
    展开全文
  • 一、让PythonLinux开机自动运行准备好要自启的脚本auto.py用root权限编辑以下文件sudo vim /ect/rc.local在exit 0上面编辑启动脚本的命令(编辑rc.local 在其中的 exit 0 上面添加这一行代码)/usr/bin/python3.5 /...

    一、让Python随Linux开机自动运行

    准备好要自启的脚本auto.py

    用root权限编辑以下文件

    sudo vim /ect/rc.local

    在exit 0上面编辑启动脚本的命令(编辑rc.local 在其中的 exit 0 上面添加这一行代码)

    /usr/bin/python3.5 /home/edgar/auto.py > /home/edgar/auto.log

    最后重启Linux,脚本就能自动运行并打印日志了。

    二、让Python脚本定时启动

    用root权限编辑以下文件

    sudo vim /etc/crontab

    在文件末尾添加以下命令

    2 * * * * root /usr/bin/python3.5 /home/edgar/auto.py > /home/edgar/auto.log

    以上代码的意思是每隔两分钟执行一次脚本并打印日志。

    三、crontab编写解释

    基本格式

    * * * * * user command

    分 时 日 月 周 用户 命令

    四、举例说明

    1、每分钟执行一次

    * * * * * user command

    2、每隔2小时执行一次

    * */2 * * * user command (/表示频率)

    3、每天8:30分执行一次

    30 8 * * * user command

    4、每小时的30和50分各执行一次

    30,50 * * * * user command(,表示并列)

    4、每个月的3号到6号的8:30执行一次

    30 8 3-6 * * user command (-表示范围)

    5、每个星期一的8:30执行一次

    30 8 * * 1 user command (周的范围为0-7,0和7代表周日)

    inotify&plus;rsync实现实时同步&lpar;附解决crontab中无法执行python脚本的问题)

    1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tool ...

    Windows 任务调度程序定时执行Python脚本

    Windows 任务调度程序(Task Scheduler)可以定时执行程序,本文分享使用Task Scheduler定时执行Python脚本的两种方法. 在控制面版->管理员工具中打开 Tas ...

    使用sae定时执行Python脚本

    使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...

    怎样在windows上定时执行python脚本

    作为一个需要在电脑上工作和学习的人,一件十分困扰我的事情就是怎样不受互联网中其他内容的干扰而专注于自己想要做的事情,有的时候真的是沉浸于微博上的消息,忘了自己本来想要做的事.不过我有一件神器,自己爱豆 ...

    Linux使用crontab定时执行Python脚本清理日志

    Linux中,周期执行的任务一般由crond这个守护进程来处理.cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.crond的配置文件称为"crontab", ...

    linux crontab定时执行shell脚本

    linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:crontab -e 编辑周期任务30 21 * * * /etc/init.d/smb restart 每晚的 ...

    操作系统定期定时执行python脚本

    1. Windows 控制面板 --> 管理工具 -->任务计划程序 --> 创建任务 接下来就是设置执行的时机以及脚本路径等 1>>常规 设置任务名称描述,以及是否执行 ...

    linux定时执行python脚本

    每天清晨 4:00:01,用python执行/opt/aa.py文件. 编辑定时任务: #crontab -e 加入: 0 4 * * * python /opt/aa.py 保存,退出即可. 如果执 ...

    Centos定时执行python脚本

    其实就是linux的定时任务.老记不住参数,这次写下来,省着老百度.本文没有技术含量,请大家不要吐槽. ================================================ ...

    随机推荐

    数据快照 (Database Snapshot&rpar;

    数据库快照是指数据库某一指定时刻的情况,数据库快照提供了源数据库在创建快照时刻的只读,静态视图 . 数据库快照一旦创建就不会改变. 数据库快照在被数据库所有者显示删除前始终存在. 数据库快照用途: 快 ...

    ubuntu安装python一些安装包

    sudo apt-get install python-pip sudo pip install distribute sudo pip install nose sudo pip install v ...

    IT 相关期刊

    码农周刊查阅地址: http://weekly.manong.io/issues/ 快乐码农查阅地址: http://www.codeceo.com/article/category/weekly

    ASP&period;NET Web Form和MVC中防止F5刷新引起的重复提交问题

    转载 http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET ...

    js原生代码编写一个鼠标在页面移动坐标的检测功能,兼容各大浏览器

    function mousePosition(e) {     //IE9以上的浏览器获取     if (e.pageX || e.pageY) {         return {         ...

    Spring Boot 系列教程13-注解定时任务

    注解 @Scheduled(cron = "0/5 * * * * ?") 相当于原来的xml版本的如下配置

    展开全文
  • Linux中,周期执行的任务一般由crond这个守护进程来处理。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。crond的配置文件称为“crontab”,是“cron table”的简写。一、crond服务 -- ...
  • 导读本文简单介绍如何在Linux下设置Python脚本自启动和定时启动。一、Python开机自动运行假如Python自启动脚本为auto.py。那么用root权限编辑以下文件:sudo vim /etc/rc.local如果没有rc.local请看这篇文章在exit 0...
  • Linux–CentOS定时运行Python脚本 最近公司的项目开始进入运营阶段,数据库的记录也开始多了起来。看了postgresql的自动清理好像不太符合需求,暂定对接口请求记录表保留3个月内的记录,既然postgresql不支持那就...
  • 脚本利用linux定时任务crontab来执行,每天跑一遍。1.开启crontab日志。crontab默认不开启日志,所以先开启定时任务的日志来查看修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf 文件中的 #cron.* 前的 # ...
  • 本文简单介绍如何在Linux下设置Python脚本自启动和定时启动。一、Python开机自动运行假如Python自启动脚本为auto.py。那么用root权限编辑以下文件:sudo vim /etc/rc.local如果没有rc.local请看这篇文章在exit 0上面...
  • 一、让PythonLinux开机自动运行 准备好要自启的脚本auto.py 用root权限编辑以下文件 sudo vim /ect/rc.local 在exit 0上面编辑启动脚本的命令(编辑rc.local 在其中的 exit 0 上面添加这一行代码) /usr/...
  • 在Linix系统下使用crontab定时运行python脚本在Linix系统下使用crontab定时运行python脚本 在Linix系统下使用crontab定时运行python脚本 通过使用新建shell文件,将python脚本执行放在shell文件中,定期执行...
  • linux定时任务执行python脚本失败原因

    千次阅读 2019-04-20 14:39:09
    linux定时任务执行python脚本失败原因 环境:centos7 python3 定时任务详解 crontab 命令 -u :只有 root 才有权限执行这个任务,也就是帮其他使用者创建/移除 crontab 定时任务 -e :编辑 crontab 的内容 -l :显示...
  • 关于linux系统下CRONTAB运行python脚本不生效运维中难免会在定时任务中同时使用shell和python脚本,shell脚本不生效大部分为环境变量的问题,在脚本前增加环境变量基本能解决,如加上 source /etc/profile。...
  • Linux定时执行python脚本

    千次阅读 2015-11-28 11:36:03
    其实就是linux定时任务。老记不住参数,这次写下来,省着老百度。 ================================================================ 每天清晨 4:00:01,用python执行/opt/aa.py文件。 编辑定时任务: ...
  • 4、手动输入python运行命令是正常运行的,但是写入linux的那个脚本命令就执行错误(但是 date 那个脚本命令就是一直能正常运行,好奇怪,查了很多资料,不知道怎么解决了) ![图片说明]...
  • python 下写linux执行脚本单独执行 python /home/xx.py 运行正常,但是在linux下crotch -l 发现有任务运行:30 0 * * * python /home/xx.py 却发现没有执行定时任务解决方案有两种1.which python 查看python 执行路径...
  • 本次目标是将指定python脚本每1s执行一次。 1 利用crontab定时运行任务l 输入命令 crontab -e 编辑: 每分钟执行一次: * * * * * myCommand 每一小时执行一次 * */1 * * * command crontab的命令构成...
  • 或者日常使用一些小工具的时候,经常需要定时执行一些任务,python无疑是最好的选择。一. Windows 平台(以Windows10为例)点击开始-搜索任务计划程序-点击进去2. 右键任务计划程序库-创建任务3. 填写任务的名称和...
  • Linux 定时循环执行 python 脚本

    千次阅读 2018-09-03 15:11:15
    本文主要介绍在linux环境下,定时循环执行python脚本的两种方法。   方法一: nohup vim time.py import time while(True): #time.sleep(1) with open('time.log', 'a+') as logfile: logfile.write('Hello...
  • contOS crontab 定时执行python脚本

    万次阅读 2020-03-02 23:50:21
    contOS crontab 定时执行python脚本 安装crontab yum install crontabs crontab语法 常用系统命令 ntsysv //查看系统开机启动项 chkconfig crond on //添加开机自启 service crond start //启动服务 service ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,745
精华内容 4,698
关键字:

linux定时执行python脚本

python 订阅
linux 订阅