zoukankan      html  css  js  c++  java
  • 10.21 crond定时任务练习

    1.玩crond必须以下任务开启

      [root@wen ~]# chkconfig --list crond

      crond        0:off        1:off        2:on        3:on        4:on        5:on        6:off

      [root@wen ~]# ps -ef |grep crond|grep -v grep

      root       1643      1  0 19:11 ?        00:00:00 crond

     

     

    2.实战练习:

     

      案例一:每隔2个小时将系统文件/etc/services文件打包备份到/tmp下(每次备份按时间生成不同的备份包)

    2.1.命令行测试

    2.1.1到目标内容的上级目录打包

       [root@wen etc]# tar zcvf /tmp/service.tar.gz ./services

       ./services

     2.1.2要打的包,前面是包名,后面是内容

      [root@wen etc]# tar zcvf /tmp/service_$(date +%F-%H).tar.gz ./services

      ./services

     2.2.1在写脚本里

      a.写脚本不要乱放,放到/server/scripts/下

      b.压缩包文件名添加时间时注意与定时任务执行时间一致且使用%要转义,不然会出错误

      cd /etc/ &&

      tar zcf /tmp/service_$(date +\%F-\%H).tar.gz ./services

    2.2.2测试脚本例

     直接执行脚本没有权限执行

      [root@wen ~]# echo 'date +%F ' > /server/scripts/oldboy.sh

      [root@wen ~]# /server/scripts/oldboy.sh

      -bash: /server/scripts/oldboy.sh: 权限不够

     但一般不用+x的方法

      [root@wen ~]# chmod +x /server/scripts/oldboy.sh

      [root@wen ~]# /server/scripts/oldboy.sh

      2017-10-20

      [root@wen ~]# chmod -x /server/scripts/oldboy.sh

    测试脚本用/bin/sh

      [root@wen ~]# /bin/sh /server/scripts/oldboy.sh

      2017-10-20

    相当于

      [root@wen ~]# sh < /server/scripts/oldboy.sh

      2017-10-20

    2.3测试写好的脚本

      [root@wen scripts]# /bin/sh /server/scripts/del_file.sh

    2,4.编辑定时任务

      a.注释,直接复制粘贴(shift +insert),减少错误

      b.注意坑:整点,第一段是00,而默认的*代表每分钟都执行

      c.最后加上错误重定向 >/dev/null 2>&1

      [root@wen scripts]#crontab -e

      #data tar

      00 */2 * * * /bin/sh /server/scripts/data_tar.sh >/dev/null 2>&1

    2.5.1查看定时任务

      [root@wen scripts]# crontab -l

      #data tar

      00 */2 * * * /bin/sh /server/scripts/data_tar.sh >/dev/null 2>&1

    2.5.2查看执行情况日志,查看目录

      [root@wen scripts]# tail -f /var/log/cron

     

    案列二:结合案列一,每天0点删除前7天的文件

    1.命令行测试,管道前后不用加空格

      [root@wen tmp]# find /tmp/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f

    2.写脚本

      [root@wen scripts]# vim del_file.sh

       复制粘贴上面命令行的内容

    3.测试脚本

      [root@wen scripts]# /bin/sh /server/scripts/del_file.sh

       -x 查看脚本执行过程

      [root@wen scripts]# /bin/sh -x /server/scripts/del_file.sh

      + xargs rm -f

      + find /tmp/ -type f -name '*.tar.gz' -mtime +7

    4.写定时任务,粘贴不要手敲

      要写注释,最后要添加错误重定向,tar文件不要使用参数-v打印

      [root@wen scripts]# crontab -e

      #del_file

      00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1

     

  • 相关阅读:
    SCRUM 12.21
    SCRUM 12.20
    SCRUM 12.19
    SCRUM 12.18
    M2阶段团队个人贡献分
    Bug列表
    M2事后分析
    hots团队项目终审报告
    M2阶段测试报告
    Beta版本发布报告
  • 原文地址:https://www.cnblogs.com/wenyule/p/7704633.html
Copyright © 2011-2022 走看看