Day22 操作系统定时任务

  1. 课程介绍部分
    1. 定时任务概念介绍
    2. 定时任务实现方式
    3. 定时任务配置应用
    4. 定时任务操作练习
  1. 课程知识回顾(提问环节)
    1. 掌握文件权限信息
    2. 掌握系统默认权限设置 umask
    3. 了解系统用户相关文件 /etc/passwd /etc/shadow
    4. 了解系统用户相关目录 /etc/skel
    5. 掌握普通用户提权方法
      a 直接切换用户 su -
      b 修改文件/目录权限 chown chmod
      c 进行用户提权 sudo visudo
      d 进行特殊权限位配置 setuid setgid 粘滞位
      扩展:
      chattr +i 文件信息 --- 将一个文件上锁
      chattr -i 文件系统 --- 将一个文件解锁
      lsattr 文件系统
    6. 掌握用户管理相关命令
  1. 系统定时任务概念 == 生活中闹钟

    1. 时间信息有时不准 时间同步操作 每过10分钟
    2. 备份数据信息 凌晨
      代替人自动完成一些任务
  2. 系统定时任务实现方法:
    1). 定时任务软件:cronie *****
    2). 定时任务软件:atd 设置一次定时任务,执行一次
    3). 定时任务软件:anacron 定时时间有固定设置 每小时 每天 每个月 cronie-anacron

    实现定时任务配置:
    1). 系统默认定时任务:
    cron.hourly/ --- 每小时执行目录中脚本文件
    cron.daily/ --- 每天执行目录中脚本文件
    cron.weekly/ --- 每周执行目录中脚本文件
    cron.monthly/ --- 每月执行目录中脚本文件

    vim oldboy.sh
    #!/bin/bash
    echo "info_$(date +%F_%T)" >/tmp/test_cron.txt
    

    2). 用户自定义设置定时任务
    一个命令 两个文件
    crontab --- 设置和查看定时任务命令
    # crontab -l --- 查看设置的定时任务
    # crontab -e --- 编辑设置定时任务/语法检查功能

    配置文件
    /var/spool/cron/root   --- root用户设置定时任务配置文件
    /var/spool/cron/oldboy --- oldboy用户设置定时任务配置文件
    /var/log/cron          --- 定时任务日志文件
    
  3. 定时任务如何进行配置
    准备工作:
    systemctl start crond
    systemctl enable crond

    编写定时任务:
    [root@oldboyedu ~]# 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
    

    定时任务时间信息 执行任务信息
    * * * * * 命令/脚本

    时间信息:
    *(分) *(时) *(日) *(月) *(周)
    分钟: 0-59
    小时: 0-23
    日期: 1-31
    月份: 1-12
    星期: 0-6

    任务信息:
    cp /etc/host /etc/hosts.bak

    练习:

    1. 凌晨2点半 将数据进行备份
      crontab -e
      30 2 * * * cp /etc/host /etc/hosts.bak
      如何验证定时任务功能:

      1. 实时监控定时任务日志信息
        [root@oldboyedu ~]# tail -f /var/log/cron
        Jul 30 16:56:25 oldboyedu crontab[42580]: (root) BEGIN EDIT (root)
        Jul 30 16:56:38 oldboyedu crontab[42580]: (root) REPLACE (root)
        Jul 30 16:56:38 oldboyedu crontab[42580]: (root) END EDIT (root)
        01 02 03 04
        Aug 1 02:30:01 oldboyedu CROND[42950]: (root) CMD (cp /etc/host /etc/hosts.bak)
        1): 编写定时/定时任务触发 时间信息
        2): 主机名称信息
        3): 读取什么定时任务文件信息
        4): 定时任务完成了事情

      2. 加快定时任务执行
        调整时间信息
        PS: 调整时间尽量向后调整

    2. 下午3点40,8月6日,周日 将数据进行备份 错误?
      40 15 6 8 0
      PS: 在设置时间信息时, 周信息不能和日期信息一起设置

    3. 每隔1个小时, 数据备份
      /n 每隔多久执行定时任务 间隔多久
      * 每分钟 每小时 每天 每月 每周
      0 */1 * * * cp /etc/hosts /etc/hosts.01 正确
      * */1 * * * cp /etc/hosts /etc/hosts.01 问题
      说明: 每隔一小时会执行
      1:00 --- 2:00 执行时间条件
      * --- 每分钟执行
      PS: 在设置好一个时间信息, 前面的时间也要做规划

    4. 每天上午9,10,11,12点 执行数据备份
      - 连续的时间范围
      0 9-12 * * * cp /etc/hosts /etc/hosts.01 规范配置
      0 9-12/1 * * * cp /etc/hosts /etc/hosts.01 理论正确
      间隔1小时执行 9-10 and 9-12点执行

    5. 每天上午9 11 执行数据备份
      , 非连续的时间范围
      0 9,11 * * * cp /etc/hosts /etc/hosts.01

    时间表示形式:
    * 每多少时间
    */n 每隔多久 间隔时间
    1-10 连续时间范围
    1,10 非连续时间范围

  1. 定时任务编写常见问题:

    1. 每隔5分钟, 进行时间同步(ntpdate ntp1.aliyun.com)
      如何编写定时任务:
      方法一: 采用绝对路径进行编写
      */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
      方法二: 放入到脚本文件中
      #!/bin/bash
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/oldboy:/oldgirl:/root/bin
      echo $PATH &>/tmp/oldboy.txt
      ntpdate ntp1.aliyun.com
      说明: 定时任务执行时, 识别的环境变量只有/usr/bin:/bin

    2. 规范化编写定时任务
      */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null
      postfix 服务开启 --- /var/spool/mail/root 邮件 文件不断变大 占用更多block
      postfix 服务关闭 --- /var/spool/postfix/maildrop/ 大量小文件 占用更多inode
      /dev/null --- 系统黑洞

    3. 将/etc/hosts 打包备份 /opt/hosts_时间信息.tar.gz 每分钟操作
      tar zcvf /opt/hosts_(date +%F).tar.gz /etc/hosts tar zcvf /opt/hosts_`date +%F`.tar.gz /etc/hosts 解决方式一: 将特殊符号前面加上转义符号 \ * * * * * tar zcvf /opt/hosts_(date +%F).tar.gz /etc/hosts
      解决方式二: 将有特殊符号命令放入脚本中
      #!/bin/bash
      tar zcvf /opt/hosts_$(date +%F).tar.gz
      * * * * * sh /server/scripts/tar.sh &>/dev/null
      说明: 定时任务中有些特殊符号无法识别

    定时任务编写注意事项:

    1. 编写定时任务需要有注释信息 (时间 编写人员 任务作用)
    2. 编写定时任务注意环境变量 /usr/bin:/bin 命令书写为绝对路径
    3. 编写定时任务注意特殊符号 需要标记转义符号 \
    4. 编写定时任务需要将输出信息定义到空 &>/dev/null
    5. 编写定时任务建议使用脚本编写

    编写定时任务规范:
    命令编写定时任务:
    第一个里程: 测试命令是否可以在命令行执行
    第二个里程: 放入定时任务中(绝对路径)
    第三个里程: 调整时间信息进行测试
    第四个里程: 检查日志信息/检查任务执行结果

    脚本编写定时任务:
    第一个里程: 编写脚本信息
    第二个里程: 测试脚本执行效果
    /bin/sh /server/scripts/test.sh
    第三个里程: 放入定时任务中(绝对路径)
    第四个里程: 调整时间信息进行测试
    第五个里程: 检查日志信息/检查任务执行结果

    测试环境测试定时任务没问题:
    执行脚本将线上服务器定时任务做改动

    compress.sh
    #!/bin/bash
    tar xxxxx

    #!/bin/bash
    echo "* * * * * /sh/bin /server/scripts/compress.sh" >>/var/spool/cron/root

  2. 课程知识总结

    1. 定时任务概念作用:
      让反复工作任务, 可以系统自动执行

    2. 定时任务实现方式:
      系统默认定时任务:
      自定义定时任务: 最短周期是每分钟 存储服务器(用户数据信息 18:00---传输图片---18:00:59)
      实时同步备份数据

    3. 定时任务编写规范
      定时任务文件格式规范 * * * * * 任务
      定时任务时间定义方法

    4. 定时任务常见错误

    综合架构: 全网备份数据项目

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容