美文网首页
crontab定时执行

crontab定时执行

作者: 王哈哈就很棒 | 来源:发表于2020-05-27 16:16 被阅读0次

    crontab命令

    crontab -u      # 设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
    crontab -l      # 列出某个用户cron服务的详细内容    
    crontab -r      # 删除没个用户的cron服务    
    crontab -e      # 编辑某个用户的cron服务
    
    如:
    crontab -u root -l   # 查看root用户的cron服务的内容
    crontab -u root -r   # 删除root用户的cron服务的内容
    crontab -u root -e   # 编辑root用户下的定时任务
    

    crontab 格式

    # crontab基本格式
    # +---------------- minute  分钟(0 - 59)
    # |  +------------- hour    小时(0 - 23)
    # |  |  +---------- day     日期(1 - 31)
    # |  |  |  +------- month   月份(1 - 12)
    # |  |  |  |  +---- week    星期(0 - 7) (星期天=0 or 7)
    # |  |  |  |  |
    # *  *  *  *  *  要运行的命令
    

    定时示例

    # 每天早上6点追加一条字符串到一个文本。
    0 6 * * * echo "Good morning." >> /tmp/test.txt
    
    # 每两个小时追加一条字符串一个文本。
    0 */2 * * * echo "Have a break now." >> /tmp/test.txt
    
    # 晚上11点到早上8点之间每两个小时,早上八点
    0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
    
    # 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
    0 11 4 * 1-3 command line
    
    # 1月1日早上4点
    0 4 1 1 * command line
    
    # 每月每天每小时的第 0 分钟执行一次 /bin/ls
    0 * * * * /bin/ls
    
    # 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup
    */20 6-12 * 12 * /usr/bin/backup
    
    # 周一到周五每天下午 5:00 寄一封信给 alex_mail_name :
    0 17 * * 1-5 mail -s "hi" alex_mail_name < /tmp/maildata
    
    # 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
    20 0-23/2 * * * echo "haha"
    
    # 晚上11点到早上8点之间每两个小时,早上8点,显示时间
    0 23-7/2,8 * * * date
    

    第二种方式配置cron

    vim /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 * * * * touch /root/aaaa.txt             # 每分钟执行一遍  在/root下创建文本
    

    特殊符号含义

    “/”代表每的意思,”/5″表示每5个单位, “-“代表从某个数字到某个数字, “,”分开几个离散的数字
    

    相关文章

      网友评论

          本文标题:crontab定时执行

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