Day22 操作系統(tǒng)定時任務

  1. 課程介紹部分
    1. 定時任務概念介紹
    2. 定時任務實現(xiàn)方式
    3. 定時任務配置應用
    4. 定時任務操作練習
  1. 課程知識回顧(提問環(huán)節(jié))
    1. 掌握文件權限信息
    2. 掌握系統(tǒng)默認權限設置 umask
    3. 了解系統(tǒng)用戶相關文件 /etc/passwd /etc/shadow
    4. 了解系統(tǒng)用戶相關目錄 /etc/skel
    5. 掌握普通用戶提權方法
      a 直接切換用戶 su -
      b 修改文件/目錄權限 chown chmod
      c 進行用戶提權 sudo visudo
      d 進行特殊權限位配置 setuid setgid 粘滯位
      擴展:
      chattr +i 文件信息 --- 將一個文件上鎖
      chattr -i 文件系統(tǒng) --- 將一個文件解鎖
      lsattr 文件系統(tǒng)
    6. 掌握用戶管理相關命令
  1. 系統(tǒng)定時任務概念 == 生活中鬧鐘

    1. 時間信息有時不準 時間同步操作 每過10分鐘
    2. 備份數(shù)據信息 凌晨
      代替人自動完成一些任務
  2. 系統(tǒng)定時任務實現(xiàn)方法:
    1). 定時任務軟件:cronie *****
    2). 定時任務軟件:atd 設置一次定時任務,執(zhí)行一次
    3). 定時任務軟件:anacron 定時時間有固定設置 每小時 每天 每個月 cronie-anacron

    實現(xiàn)定時任務配置:
    1). 系統(tǒng)默認定時任務:
    cron.hourly/ --- 每小時執(zhí)行目錄中腳本文件
    cron.daily/ --- 每天執(zhí)行目錄中腳本文件
    cron.weekly/ --- 每周執(zhí)行目錄中腳本文件
    cron.monthly/ --- 每月執(zhí)行目錄中腳本文件

    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 環(huán)境變量信息
    PATH=/sbin:/bin:/usr/sbin:/usr/bin 環(huán)境變量信息
    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
    

    定時任務時間信息 執(zhí)行任務信息
    * * * * * 命令/腳本

    時間信息:
    *(分) *(時) *(日) *(月) *(周)
    分鐘: 0-59
    小時: 0-23
    日期: 1-31
    月份: 1-12
    星期: 0-6

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

    練習:

    1. 凌晨2點半 將數(shù)據進行備份
      crontab -e
      30 2 * * * cp /etc/host /etc/hosts.bak
      如何驗證定時任務功能:

      1. 實時監(jiān)控定時任務日志信息
        [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): 編寫定時/定時任務觸發(fā) 時間信息
        2): 主機名稱信息
        3): 讀取什么定時任務文件信息
        4): 定時任務完成了事情

      2. 加快定時任務執(zhí)行
        調整時間信息
        PS: 調整時間盡量向后調整

    2. 下午3點40,8月6日,周日 將數(shù)據進行備份 錯誤?
      40 15 6 8 0
      PS: 在設置時間信息時, 周信息不能和日期信息一起設置

    3. 每隔1個小時, 數(shù)據備份
      /n 每隔多久執(zhí)行定時任務 間隔多久
      * 每分鐘 每小時 每天 每月 每周
      0 */1 * * * cp /etc/hosts /etc/hosts.01 正確
      * */1 * * * cp /etc/hosts /etc/hosts.01 問題
      說明: 每隔一小時會執(zhí)行
      1:00 --- 2:00 執(zhí)行時間條件
      * --- 每分鐘執(zhí)行
      PS: 在設置好一個時間信息, 前面的時間也要做規(guī)劃

    4. 每天上午9,10,11,12點 執(zhí)行數(shù)據備份
      - 連續(xù)的時間范圍
      0 9-12 * * * cp /etc/hosts /etc/hosts.01 規(guī)范配置
      0 9-12/1 * * * cp /etc/hosts /etc/hosts.01 理論正確
      間隔1小時執(zhí)行 9-10 and 9-12點執(zhí)行

    5. 每天上午9 11 執(zhí)行數(shù)據備份
      , 非連續(xù)的時間范圍
      0 9,11 * * * cp /etc/hosts /etc/hosts.01

    時間表示形式:
    * 每多少時間
    */n 每隔多久 間隔時間
    1-10 連續(xù)時間范圍
    1,10 非連續(xù)時間范圍

  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
      說明: 定時任務執(zhí)行時, 識別的環(huán)境變量只有/usr/bin:/bin

    2. 規(guī)范化編寫定時任務
      */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null
      postfix 服務開啟 --- /var/spool/mail/root 郵件 文件不斷變大 占用更多block
      postfix 服務關閉 --- /var/spool/postfix/maildrop/ 大量小文件 占用更多inode
      /dev/null --- 系統(tǒng)黑洞

    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. 編寫定時任務注意環(huán)境變量 /usr/bin:/bin 命令書寫為絕對路徑
    3. 編寫定時任務注意特殊符號 需要標記轉義符號 \
    4. 編寫定時任務需要將輸出信息定義到空 &>/dev/null
    5. 編寫定時任務建議使用腳本編寫

    編寫定時任務規(guī)范:
    命令編寫定時任務:
    第一個里程: 測試命令是否可以在命令行執(zhí)行
    第二個里程: 放入定時任務中(絕對路徑)
    第三個里程: 調整時間信息進行測試
    第四個里程: 檢查日志信息/檢查任務執(zhí)行結果

    腳本編寫定時任務:
    第一個里程: 編寫腳本信息
    第二個里程: 測試腳本執(zhí)行效果
    /bin/sh /server/scripts/test.sh
    第三個里程: 放入定時任務中(絕對路徑)
    第四個里程: 調整時間信息進行測試
    第五個里程: 檢查日志信息/檢查任務執(zhí)行結果

    測試環(huán)境測試定時任務沒問題:
    執(zhí)行腳本將線上服務器定時任務做改動

    compress.sh
    #!/bin/bash
    tar xxxxx

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

  2. 課程知識總結

    1. 定時任務概念作用:
      讓反復工作任務, 可以系統(tǒng)自動執(zhí)行

    2. 定時任務實現(xiàn)方式:
      系統(tǒng)默認定時任務:
      自定義定時任務: 最短周期是每分鐘 存儲服務器(用戶數(shù)據信息 18:00---傳輸圖片---18:00:59)
      實時同步備份數(shù)據

    3. 定時任務編寫規(guī)范
      定時任務文件格式規(guī)范 * * * * * 任務
      定時任務時間定義方法

    4. 定時任務常見錯誤

    綜合架構: 全網備份數(shù)據項目

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末梆掸,一起剝皮案震驚了整個濱河市今野,隨后出現(xiàn)的幾起案子樟插,更是在濱河造成了極大的恐慌间坐,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熊户,死亡現(xiàn)場離奇詭異飞几,居然都是意外死亡郁油,警方通過查閱死者的電腦和手機躯护,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門惊来,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人棺滞,你說我怎么就攤上這事裁蚁∈冈ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵枉证,是天一觀的道長矮男。 經常有香客問我,道長室谚,這世上最難降的妖魔是什么毡鉴? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮秒赤,結果婚禮上眨补,老公的妹妹穿的比我還像新娘。我一直安慰自己倒脓,他們只是感情好,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布含思。 她就那樣靜靜地躺著崎弃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪含潘。 梳的紋絲不亂的頭發(fā)上饲做,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音遏弱,去河邊找鬼盆均。 笑死,一個胖子當著我的面吹牛漱逸,可吹牛的內容都是我干的泪姨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼饰抒,長吁一口氣:“原來是場噩夢啊……” “哼肮砾!你這毒婦竟也來了?” 一聲冷哼從身側響起袋坑,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仗处,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后枣宫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婆誓,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年也颤,在試婚紗的時候發(fā)現(xiàn)自己被綠了洋幻。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡歇拆,死狀恐怖鞋屈,靈堂內的尸體忽然破棺而出范咨,到底是詐尸還是另有隱情,我是刑警寧澤厂庇,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布渠啊,位于F島的核電站,受9級特大地震影響权旷,放射性物質發(fā)生泄漏替蛉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一拄氯、第九天 我趴在偏房一處隱蔽的房頂上張望躲查。 院中可真熱鬧,春花似錦译柏、人聲如沸镣煮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽典唇。三九已至,卻和暖如春胯府,著一層夾襖步出監(jiān)牢的瞬間介衔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工骂因, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炎咖,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓寒波,卻偏偏與公主長得像乘盼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俄烁,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容