• linux 定时任务调度Cron的用法详解



    本文介绍下,在linux中定时调度命令,执行定时任务的具体方法,有需要的朋友,可以参考学习下。
    在linux中,推荐使用crontab -e命令添加自定义的任务,退出后重启crond进程。

     重新启动cron服务或重新加载cron配置,命令:
     

    复制代码代码示例:
    /etc/rc.d/init.d/crond  restart
    service cron reload

    同样,也可以直接修改/etc/crontab文件来新建任务,/etc/crontab文件内容默认如下:
     

    复制代码代码示例:
    SHELL=/bin/bash  
    PATH=/sbin:/bin:/usr/sbin:/usr/bin  
    MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号  
    HOME=/ //使用者运行的路径,这里是根目录  
    # run-parts  
    01   *   *   *   *     root run-parts /etc/cron.hourly         //每小时执行/etc/cron.hourly内的脚本  
    02   4   *   *   *     root run-parts /etc/cron.daily           //每天执行/etc/cron.daily内的脚本  
    22   4   *   *   0     root run-parts /etc/cron.weekly       //每星期执行/etc/cron.weekly内的脚本  
    42   4   1   *   *     root run-parts /etc/cron.monthly     //每月去执行/etc/cron.monthly内的脚本 

    注意
    1,"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
    2,/etc/cron.hourly/,/etc/cron.daily/、cron.weekly/、/cron.monthly/   存放着系统预先制定的cron任务
    /etc/crontab文件语法如下:
     

    Minute     Hour   Day    Month  Dayofweek      command
    分钟     小时     天        月   天 每星期     命令

    每个字段代表的含义如下:
     

    1,Minute             每个小时的第几分钟执行该任务
    2,Hour               每天的第几个小时执行该任务
    3,Day                 每月的第几天执行该任务
    4,Month             每年的第几个月执行该任务
    5,DayOfWeek     每周的第几天执行该任务
    6,Command       指定要执行的程序
     

    在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
    同时,cron支持类似正则表达式的书写,支持如下几个特殊符号定义:
     

    1,"*"代表取值范围内的数字,
    2,"/"代表"每",
    3,"-"代表从某个数字到某个数字,
    4,","分开几个离散的数字
     

    示例:
     

    复制代码代码示例:
    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参数的。

    服务管理
    service cron start //启动服务
    service cron stop //关闭服务
    service cron restart //重启服务
    service cron reload //重新载入配置

    命令选项
    -u指定一个用户,
    -l列出某个用户的任务计划
    -r删除某个用户的任务
    -e编辑某个用户的任务
    例如:
    crontab -u //设定某个用户的cron服务
    crontab -l //列出某个用户cron服务的详细内容
    crontab -r //删除没个用户的cron服务
    crontab -e //编辑某个用户的cron服务

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

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

    其它:
    1,/var/spool/cron/  该目录下存放所有用户的cron服务
    2,/var/log/cron   记录cron运行的日志信息

    本文出处参考:http://www.jbxue.com/LINUXjishu/11572.html
     

  • 相关阅读:
    【css】border-image
    函数的调用
    函数的返回值
    定义函数的三种形式
    文件处理实战之购物车系统
    文件处理小结
    文件修改的两种方式
    with管理文件操作上下文
    绝对路径和相对路径
    基本的文件操作
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3325554.html
Copyright © 2020-2023  润新知