美文网首页
Linux-计划任务

Linux-计划任务

作者: yuanzicheng | 来源:发表于2017-05-09 16:59 被阅读19次

    Linux系统中的计划任务、周期性任务的服务是cron,主程序包为cronie,cronie提供了crond守护进程及相关辅助工具:crontab。

    cron任务分类两类

    • 系统cron任务:主要用于系统自身的维护(比如写缓存数据到硬盘、日志清理等),手动编辑/etc/crontab维护,一般不建议修改。
    • 用户cron任务:使用crontab命令维护。

    crontab是系统管理员用来维护计划任务的主要工具,本文主要介绍crontab的使用。

    cron任务配置格式

    crontab的配置格式可以参考/etc/crontab

    [root@VM_41_201_centos ~]# cat /etc/crontab
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    
    # For details see man 4 crontabs
    
    # 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
    

    这是系统任务,一般不要修改,用户的cron任务会保存在/var/spool/cron/<username>中,如root用户的cron任务:/var/spool/cron/root

    特殊说明:* 位置除了可以指定单一值,还可以指定多个值

    星号(*):代表所有可能的值; 
    逗号(,):多个值,如 “* * * * 6,7” 表示每周六、日;
    中杠(-):整数范围,如“2-6”表示“2,3,4,5,6” ;
    斜线(/):时间间隔,如 “*/5 * * * *” 表示每5分钟。
    
    

    crontab命令

    SYNOPSIS

    crontab [-u user] file
    crontab [-u user] [-l | -r | -e] [-i] [-s]
    crontab -n [ hostname ]
    crontab -c
    

    OPTIONS

    # 常用选项
    -u user  指定哪个用的任务(默认当前用户)
    -l  查看任务
    -e  编辑任务(进入vim编辑器,并且能够编辑已有的任务)
    -r  清空任务(如需删除单条或部分任务,需要使用-e命令进入vim编辑)
    

    示例

    # 每个整点时刻查询磁盘分区使用情况写入文件
    0 * * * * df -h >> /data/diskinfo
    # 每天凌晨3点执行shell脚本
    0 3 * * * /root/sh/mysql-backup.sh
    

    相关文章

      网友评论

          本文标题:Linux-计划任务

          本文链接:https://www.haomeiwen.com/subject/fecpzttx.html