美文网首页
day23-Linux计划任务

day23-Linux计划任务

作者: 恩楠 | 来源:发表于2019-08-26 16:27 被阅读0次

    crond计划任务

    • Crontab配置文件记录了时间周期的含义
    [root@ennan ~]# 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)      #星期
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed
    
    • crontab常用参数及选项
    参数 解释
    -e 编辑定时任务
    -l 查看定时任务
    -r 删除定时任务
    -u 指定其他用户

    使用-r会删除目前所有的定时任务,慎用


    • 计划任务编写与实践
    1. 每5分钟执行一次时间同步
    # 测试命令
    [root@ennan ~]# ntpdate ntp1.aliyun.com
    26 Aug 14:57:48 ntpdate[8147]: step time server 120.25.115.20 offset -2.430188 sec
    编写定时任务
    [root@ennan ~]# crontab -e
    # 查看定时任务
    [root@ennan ~]# crontab -l
    # 每5分钟执行一次时间同步
    */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &> /dev/null
    
    1. 每天的下午3,5点,每隔半小时执行一次sync命令
    [root@ennan ~]# crontab -l
    # 每天的下午3,5点,每隔半小时执行一次sync命令
    */30 15,17 * * * sync &> /dev/null
    
    1. 每天凌晨3点做一次备份?备份/etc/目录到/backup下面
      (1) 将备份命令写入一个脚本中
      (2) 每天备份文件名要求格式: 2019-05-01_hostname_etc.tar.gz
      (3) 在执行计划任务时,不要输出任务信息
      (4) 存放备份内容的目录要求只保留三天的数据
    # 根据要求编写脚本
    [root@ennan ~]# cat back.sh 
    mkdir -p /backup
    tar czf /backup/$(date +%F)_$(hostname)_etc.tar.gz /etc/
    find /backup/ -name "etc.tar.gz" -mtime +3 | xargs rm -f
    # 编写定时任务
    [root@ennan ~]# crontab -l
    # 每天三点备份/etc目录
    00 03 * * * bash /root/back.sh &> /dev/null
    

    定时任务编写规范

    1. 给定时任务注释
    2. 将需要定期执行的任务写入Shell脚本中,避免直接使用命令无法执行的情况tar date
    3. 定时任务的结尾一定要有&>/dev/null或者将结果追加重定向>>/tmp/date.log文件
    4. 注意有些命令是无法成功执行的 echo "123" >>/tmp/test.log &>/dev/null
    5. 如果一定要是用命令,命令必须使用绝对路径

    定时任务如何备份
    定时的备份/var/spool/cron/{usernmae}

    相关文章

      网友评论

          本文标题:day23-Linux计划任务

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