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分鐘执行一次

  • 相关阅读:
    复习总结
    python 之Tornado
    MySQL 同一Windows系统上安装多个数据库
    CSS 轻松搞定元素(标签)居中问题
    Linux 解决Deepin深度系统无法在root用户启动Google Chrome浏览器的问题
    Django Windows+IIS+wfastcgi 环境下部署
    Django RestFramework(DRF)类视图
    php+ajax实现拖动滚动条分批加载请求加载数据
    Jquery+php鼠标滚动到页面底部自动加载更多内容,使用分页
    jQuery+ajax实现滚动到页面底部自动加载图文列表效果
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/12291683.html
Copyright © 2011-2022 走看看