day22--操作系統(tǒng)定時(shí)任務(wù)

1.課程介紹部分

  1. 定時(shí)任務(wù)概念介紹
  2. 定時(shí)任務(wù)實(shí)現(xiàn)方式
  3. 定時(shí)任務(wù)配置應(yīng)用
  4. 定時(shí)任務(wù)操作練習(xí)

2.課程知識(shí)回顧

  1. 掌握文件權(quán)限信息
  2. 掌握系統(tǒng)默認(rèn)權(quán)限設(shè)置 umask
  3. 了解系統(tǒng)用戶相關(guān)文件 /etc/passwd /etc/shadow
  4. 了解系統(tǒng)用戶相關(guān)目錄 /etc/skel
  5. 掌握普通用戶提權(quán)方法
    a 直接切換用戶 su -
    b 修改文件/目錄權(quán)限 chown chmod
    c 進(jìn)行用戶提權(quán) sudo visudo
    d 進(jìn)行特殊權(quán)限位配置 setuid setgid 粘滯位
    擴(kuò)展:
    chattr +i 文件信息 --- 將一個(gè)文件上鎖
    chattr -i 文件系統(tǒng) --- 將一個(gè)文件解鎖
    lsattr 文件系統(tǒng)
  6. 掌握用戶管理相關(guān)命令

3.系統(tǒng)定時(shí)任務(wù)概念 == 生活中鬧鐘

1) 時(shí)間信息有時(shí)不準(zhǔn)   時(shí)間同步操作  每過(guò)10分鐘    
2) 備份數(shù)據(jù)信息       凌晨          
代替人自動(dòng)完成一些任務(wù)

4.系統(tǒng)定時(shí)任務(wù)實(shí)現(xiàn)方法:

1). 定時(shí)任務(wù)軟件:cronie   *****
2). 定時(shí)任務(wù)軟件:atd      設(shè)置一次定時(shí)任務(wù),執(zhí)行一次
3). 定時(shí)任務(wù)軟件:anacron  定時(shí)時(shí)間有固定設(shè)置  每小時(shí)  每天  每個(gè)月  cronie-anacron

實(shí)現(xiàn)定時(shí)任務(wù)配置
1). 系統(tǒng)默認(rèn)定時(shí)任務(wù):

    cron.hourly/  --- 每小時(shí)執(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). 用戶自定義設(shè)置定時(shí)任務(wù)

    一個(gè)命令  兩個(gè)文件
    crontab   --- 設(shè)置和查看定時(shí)任務(wù)命令
    # crontab -l     --- 查看設(shè)置的定時(shí)任務(wù)
    # crontab -e     --- 編輯設(shè)置定時(shí)任務(wù)/語(yǔ)法檢查功能
    
    配置文件
    /var/spool/cron/root   --- root用戶設(shè)置定時(shí)任務(wù)配置文件
    /var/spool/cron/oldboy --- oldboy用戶設(shè)置定時(shí)任務(wù)配置文件
    /var/log/cron          --- 定時(shí)任務(wù)日志文件

5.定時(shí)任務(wù)如何進(jìn)行配置

準(zhǔn)備工作:
systemctl start crond
systemctl enable crond

編寫定時(shí)任務(wù):

[root@oldboyedu ~]# cat /etc/crontab    --- 定時(shí)任務(wù)樣例文件
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

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

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

任務(wù)信息:
cp /etc/hosts /etc/hosts.bak
練習(xí):

  1. 凌晨2點(diǎn)半 將數(shù)據(jù)進(jìn)行備份

    crontab -e
    30 2 * * *  cp /etc/hosts /etc/hosts.bak
    如何驗(yàn)證定時(shí)任務(wù)功能:
    01. 實(shí)時(shí)監(jiān)控定時(shí)任務(wù)日志信息
    [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): 編寫定時(shí)/定時(shí)任務(wù)觸發(fā)  時(shí)間信息
    2): 主機(jī)名稱信息
    3): 讀取什么定時(shí)任務(wù)文件信息
    4): 定時(shí)任務(wù)完成了事情
    
    02. 加快定時(shí)任務(wù)執(zhí)行
    調(diào)整時(shí)間信息
    PS: 調(diào)整時(shí)間盡量向后調(diào)整    
    
  2. 下午3點(diǎn)40,8月6日,周日 將數(shù)據(jù)進(jìn)行備份 錯(cuò)誤題目

    40 15 6 8 0   和女朋友發(fā)生小秘密
    PS: 在設(shè)置時(shí)間信息時(shí), 周信息不能和日期信息一起設(shè)置
    
  3. 每隔1個(gè)小時(shí), 數(shù)據(jù)備份

    /n   每隔多久執(zhí)行定時(shí)任務(wù)            間隔多久
    *    每分鐘 每小時(shí) 每天 每月 每周
    0  */1 * * * cp /etc/hosts  /etc/hosts.01   正確 
    *  */1 * * * cp /etc/hosts  /etc/hosts.01   問(wèn)題
    說(shuō)明: 每隔一小時(shí)會(huì)執(zhí)行
    1:00  ---  2:00  執(zhí)行時(shí)間條件
    *     ---  每分鐘執(zhí)行
    PS: 在設(shè)置好一個(gè)時(shí)間信息, 前面的時(shí)間也要做規(guī)劃
    
  4. 每天上午9,10,11,12點(diǎn) 執(zhí)行數(shù)據(jù)備份

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

    ,   非連續(xù)的時(shí)間范圍
    0  9,11  * * *  cp /etc/hosts  /etc/hosts.01
    

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

  1. 定時(shí)任務(wù)編寫常見問(wèn)題

    1) 每隔5分鐘, 進(jìn)行時(shí)間同步(ntpdate ntp1.aliyun.com) 
       如何編寫定時(shí)任務(wù):
       方法一: 采用絕對(duì)路徑進(jìn)行編寫
       */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
       說(shuō)明: 定時(shí)任務(wù)執(zhí)行時(shí), 識(shí)別的環(huán)境變量只有/usr/bin:/bin
    2) 規(guī)范化編寫定時(shí)任務(wù)
       */5 * * * *  /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null
       postfix 服務(wù)開啟 --- /var/spool/mail/root  郵件 文件不斷變大  占用更多block   
       postfix 服務(wù)關(guān)閉 --- /var/spool/postfix/maildrop/      大量小文件    占用更多inode
       /dev/null   --- 系統(tǒng)黑洞
    3) 將/etc/hosts 打包備份  /opt/hosts_時(shí)間信息.tar.gz  每分鐘操作
       tar zcvf  /opt/hosts_$(date +%F).tar.gz   /etc/hosts
       tar zcvf  /opt/hosts_`date +%F`.tar.gz   /etc/hosts
       解決方式一: 將特殊符號(hào)前面加上轉(zhuǎn)義符號(hào)
       * * * * * tar zcvf  /opt/hosts_$(date +\%F).tar.gz   /etc/hosts
       解決方式二: 將有特殊符號(hào)命令放入腳本中
       #!/bin/bash 
       tar zcvf  /opt/hosts_$(date +%F).tar.gz 
       * * * * * sh /server/scripts/tar.sh &>/dev/null
       說(shuō)明: 定時(shí)任務(wù)中有些特殊符號(hào)無(wú)法識(shí)別
    

定時(shí)任務(wù)編寫注意事項(xiàng):
01. 編寫定時(shí)任務(wù)需要有注釋信息 (時(shí)間 編寫人員 任務(wù)作用)
02. 編寫定時(shí)任務(wù)注意環(huán)境變量 /usr/bin:/bin 命令書寫為絕對(duì)路徑
03. 編寫定時(shí)任務(wù)注意特殊符號(hào) 需要標(biāo)記轉(zhuǎn)義符號(hào)
04. 編寫定時(shí)任務(wù)需要將輸出信息定義到空 &>/dev/null
05. 編寫定時(shí)任務(wù)建議使用腳本編寫

編寫定時(shí)任務(wù)規(guī)范:
命令編寫定時(shí)任務(wù):
第一個(gè)里程: 測(cè)試命令是否可以在命令行執(zhí)行   
第二個(gè)里程: 放入定時(shí)任務(wù)中(絕對(duì)路徑)
第三個(gè)里程: 調(diào)整時(shí)間信息進(jìn)行測(cè)試
第四個(gè)里程: 檢查日志信息/檢查任務(wù)執(zhí)行結(jié)果

腳本編寫定時(shí)任務(wù):
第一個(gè)里程: 編寫腳本信息
第二個(gè)里程: 測(cè)試腳本執(zhí)行效果
/bin/sh /server/scripts/test.sh
第三個(gè)里程: 放入定時(shí)任務(wù)中(絕對(duì)路徑)    
第四個(gè)里程: 調(diào)整時(shí)間信息進(jìn)行測(cè)試
第五個(gè)里程: 檢查日志信息/檢查任務(wù)執(zhí)行結(jié)果  

測(cè)試環(huán)境測(cè)試定時(shí)任務(wù)沒(méi)問(wèn)題:
執(zhí)行腳本將線上服務(wù)器定時(shí)任務(wù)做改動(dòng)

compress.sh 
#!/bin/bash
tar xxxxx

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

6. 課程知識(shí)總結(jié)

1) 定時(shí)任務(wù)概念作用: 
   讓反復(fù)工作任務(wù), 可以系統(tǒng)自動(dòng)執(zhí)行
   
2) 定時(shí)任務(wù)實(shí)現(xiàn)方式: 
   系統(tǒng)默認(rèn)定時(shí)任務(wù): 
   自定義定時(shí)任務(wù):   最短周期是每分鐘   存儲(chǔ)服務(wù)器(用戶數(shù)據(jù)信息 18:00---傳輸圖片---18:00:59)
                                                   實(shí)時(shí)同步備份數(shù)據(jù)
3) 定時(shí)任務(wù)編寫規(guī)范
   定時(shí)任務(wù)文件格式規(guī)范  * * * * * 任務(wù) 
   定時(shí)任務(wù)時(shí)間定義方法  

4) 定時(shí)任務(wù)常見錯(cuò)誤
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹂季,一起剝皮案震驚了整個(gè)濱河市复亏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凑术,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡公条,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門迂曲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)靶橱,“玉大人,你說(shuō)我怎么就攤上這事∽ズ” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鬓长,是天一觀的道長(zhǎng)谒拴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)涉波,這世上最難降的妖魔是什么英上? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮啤覆,結(jié)果婚禮上苍日,老公的妹妹穿的比我還像新娘。我一直安慰自己窗声,他們只是感情好相恃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著笨觅,像睡著了一般拦耐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上见剩,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天杀糯,我揣著相機(jī)與錄音,去河邊找鬼苍苞。 笑死固翰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的羹呵。 我是一名探鬼主播骂际,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼担巩!你這毒婦竟也來(lái)了方援?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤涛癌,失蹤者是張志新(化名)和其女友劉穎犯戏,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拳话,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡先匪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弃衍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呀非。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出岸裙,到底是詐尸還是另有隱情猖败,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布降允,位于F島的核電站恩闻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏剧董。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一翅楼、第九天 我趴在偏房一處隱蔽的房頂上張望尉剩。 院中可真熱鬧,春花似錦毅臊、人聲如沸理茎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)功蜓。三九已至,卻和暖如春宠蚂,著一層夾襖步出監(jiān)牢的瞬間式撼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工求厕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留著隆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓呀癣,卻偏偏與公主長(zhǎng)得像美浦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子项栏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容