zoukankan      html  css  js  c++  java
  • ubuntu系统定时运行 crontab

    1,crontab是个啥?

    ubuntu系统自带cron工具,cron是一个系统上的定时工具,用它的好处在于,不同的程序可以用同一个计时器,这样就省得不同程序各自sleep了,另外它还支持比较多的个性化功能,比如每月1号执行一次,

    2,crontab怎么用?

    crontab是一个和当前用户绑定的命令,一个用户有一个用户的定时配置文件,文件位置/var/spool/cron

    crontab -l|-r|-e|-i 用户名
    #-l:显示用户定时文件的内容
    #-r:删除用户定时文件
    #-i:删除用户定时文件的时候给个提示,常用-ri
    #-e:编辑用户的crontab文件,第一次用可能让你选择编辑器,

    登录系统用户,并且为用户创建定时文件:

    crontab -e
    #打开一个配置文件,并且让用户输入crontab命令

    输入命令并且保存:

    * * * * * /usr/bin/python /home/center/temp/crontest/logout.py
    #命令的意思是每隔一分钟执行一次logout.py文件,ps:建议使用绝对命令

    本人logout.py中的内容:

    #!/usr/bin/python
    import time
    f=open("/home/center/temp/crontest/test.log","a")
    t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    str1 = '执行时间:' + t + '
    '
    f.write(str1)
    f.close()

    crontab命令格式是这样的:

    接下来需要启动cron服务

    sudo service cron start 
    sudo service cron restart    #重启
    sudo service cron stop    #关闭

    启动成功以后使用ps查看后台进程,就会多一个这样的

    root       948  0.0  0.0  30748  3272 ?        Ss   16:28   0:00 /usr/sbin/cron -f

    那么问题来了,如果开启了crontab服务的电脑重启了以后,服务还有么?答案是,,还有的。本人亲测

    3,crontab定时格式详解

    占位符含义

    每个字段代表的含义及取值范围如下:
      Minute :分钟(0-59),表示每个小时的第几分钟执行该任务
      Hour : 小时(1-23),表示每天的第几个小时执行该任务
      Day : 日期(1-31),表示每月的第几天执行该任务
      Month : 月份(1-12),表示每年的第几个月执行该任务
      DayOfWeek : 星期(0-6,0代表星期天),表示每周的第几天执行该任务

    特殊符号含义

      “*” ,代表所有的取值范围内的数字;
      “/” , 代表”每”(“*/5”,表示每5个单位);
      “-” , 代表从某个数字到某个数字(“1-4”,表示1-4个单位);
      “,” ,分开几个离散的数字;

    例子:

    每分钟执行 * * * * *
    每五分钟执行 */5 * * * *
    每小时执行 0 * * * *
    每天执行 0 0 * * *
    每周执行 0 0 * * 0
    每月执行 0 0 1 * *
    每年执行 0 0 1 1 *

    5 * * * * ls /*指定每小时的第5分钟执行一次ls命令*/ 
    30 5 * * * ls /*指定每天的 5:30 执行ls命令*/ 
    30 7 8 * * ls /*指定每月8号的7:30分执行ls命令*/ 
    50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件*/

    */2 8-20 * * * /usr/bin/backup   每天8点到晚上8点間隔2分鐘执行一次

  • 相关阅读:
    三元表达式 列表和字典推导式 函数对象 名称空间 作用域 global和nonlocal 函数装饰器 枚举对象
    函数参数 打散机制 字符串比较 返回值
    函数简介
    三种字符串的介绍 文件的读写
    字符编码
    数据类型及其常用方法 数据类型转换 可变与不可变 值拷贝与深浅拷贝
    流程控制 while和for循环
    变量命名规范 常量 输入和输出 注释 数据类型 运算符 逻辑运算符
    语言分类 编译型和解释型语言分析 环境变量 代码执行的方式 pip介绍 变量
    Python django tests
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/12291683.html
Copyright © 2011-2022 走看看