• Linux操作系统定时调度系统Cron介绍


    Linux操作系统定时调度系统Cron介绍

          cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。

    新增调度任务

          推荐使用crontab -e命令添加自定义的任务(编辑的是/var/spool/cron下对应用户的cron文件),退出后重启crond进程,虽然官方文档描述为“crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。”,但我曾经遇到不重启无法运行任务的情况(也许因为某些系统crontab是读到内存中的,修改完/etc/crontab后并没有马上执行),可以使用如下方式重新启动cron服务或重新加载cron配置
          同样,我们也可以直接修改/etc/crontab文件来新建任务,/etc/crontab文件内容默认如下:
    注意
    • "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
    • /etc/cron.hourly/,/etc/cron.daily/、cron.weekly/、/cron.monthly/   存放着系统预先制定的cron任务
    /etc/crontab文件语法如下:
          Minute     Hour   Day    Month  Dayofweek      command
          分钟         小时     天        月         天每星期           命令
          每个字段代表的含义如下:
    •      Minute             每个小时的第几分钟执行该任务
    •      Hour               每天的第几个小时执行该任务
    •      Day                 每月的第几天执行该任务
    •      Month             每年的第几个月执行该任务
    •      DayOfWeek     每周的第几天执行该任务
    •      Command       指定要执行的程序
         在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
          同时,cron支持类似正则表达式的书写,支持如下几个特殊符号定义:
    •       "*"代表取值范围内的数字,
    •       "/"代表"每",
    •       "-"代表从某个数字到某个数字,
    •       ","分开几个离散的数字
     举例如下:
    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目录中的所有可执行文件[注:run-parts参数表示,执行后面目录中的所有可执行文件,如果单独执行某个脚本的话,是不需要增加run-parts参数的。]

    服务管理
     

    命令选项

         -u指定一个用户,
         -l列出某个用户的任务计划
         -r删除某个用户的任务
         -e编辑某个用户的任务
        如:
     

    任务分类

    •      系统工作:系统周期性所要执行的工作,如备份系统数据、清理缓存,系统工作一般都定义在/etc/crontab文件中
    •      个人工作:某个用户定期要做的工作,如清理3天前的文件

    cron用户限制

          我们可以对不同用户设置限制,比如允许user1使用cron服务,而user2不允许使用cron服务;可以通过编辑如下两个文件实现这个策略:
    • /etc/cron.deny    被记录在此的用户不能使用cron任务
    • /etc/cron.allow   被记录在此的用户可以使用cron任务
         注意:如果两个文件都不存在,则默认所有用户均可以使用cron服务

    其它:

    • /var/spool/cron/   该目录下存放所有用户的cron服务
    • /var/log/cron   记录cron运行的日志信息
  • 相关阅读:
    Windows 10 字体替换
    Windows 任务栏增加秒显示
    CCProxy v8.0 代理服务器
    Git RPM软件包 && 源码包
    Google Chrome 浏览器最新版本 71.0.3578.98(正式版本) (64 位)
    Linux 查询公网出口IP
    Windows 10 Enterprise LTSC做Windows To Go蓝屏无法进入系统
    Nginx编译./configure翻译
    Windows 10 快捷键
    JDBC连接MySQL
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330200.html
Copyright © 2020-2023  润新知