定時(shí)任務(wù)配置
系統(tǒng)定時(shí)任務(wù)的軟件
- atd
適合一次就結(jié)束的調(diào)度任務(wù)命令,進(jìn)程服務(wù)是atd. - crond
快速配置服務(wù)的命令步清,用于做一些周期性的工作。 - anacron
非7*24小時(shí)開(kāi)機(jī)的服務(wù)器炎辨,檢測(cè)服務(wù)器停機(jī)期間應(yīng)該執(zhí)行但沒(méi)有執(zhí)行進(jìn)行的工作羡滑,并將該任務(wù)執(zhí)行。
系統(tǒng)定時(shí)任務(wù)的配置文件目錄
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.weekly/
/etc/cron.monthly/
用戶自定義配置
- 配置命令crontab
格式:crontab [選項(xiàng)]
-l :list 查看 當(dāng)前用戶設(shè)置了哪些定時(shí)任務(wù)
-e :edit 編輯定時(shí)任務(wù)
crontab -l == cat /var/spool/cron/root
crontab -e == vim /var/spool/cron/root
/var/log/cron 定時(shí)任務(wù)日志文件 - 配置方法
-
畫(huà)圖說(shuō)明
-
用戶定時(shí)標(biāo)識(shí)符
定時(shí)任務(wù)編寫(xiě)的問(wèn)題
- 如何編寫(xiě)實(shí)時(shí)任務(wù)
第一種方法:用絕對(duì)路徑編寫(xiě)唠梨。
第二種方法:放到腳本文件中執(zhí)行袋励。
文件中寫(xiě)入PATH的環(huán)境變量,方便給其它的命令使用当叭。這時(shí)茬故,也會(huì)出現(xiàn)三種錯(cuò)誤:
(1)例如:* * * * * ech oldboy /tmp/a.txt
會(huì)顯示命令找不到的錯(cuò)誤,只有命令執(zhí)行正確才會(huì)追加內(nèi)容到a.txt文件中蚁鳖,如果命令錯(cuò)誤則會(huì)追加到/var/spool/mail/root文件中磺芭。
(2) 當(dāng)postfix服務(wù)開(kāi)啟時(shí),錯(cuò)誤信息放在/var/spool/mail/root中醉箕,這時(shí)钾腺,文件會(huì)變的越來(lái)越大,占用block讥裤。
當(dāng)postfix服務(wù)關(guān)閉時(shí)放棒,錯(cuò)誤信息放在 cd /var/spool/postfix/maildrop/中,會(huì)生成很多小文件己英,占用系統(tǒng)的inode
(3)定時(shí)任務(wù)中不能識(shí)別某些符號(hào)间螟。
解決的辦法一:添加轉(zhuǎn)義字符。
如果(date +%F)厢破,默認(rèn)是不識(shí)別%的荣瑟。
解決辦法二:使用腳本
Crontab -e
Vim tar.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/bin/notepad:/root/.local/bin:/root/bin
tar zcvhf /tmp/hosts_$(date +%F).tar.gz /etc/hosts
Crontab -e
* * * * * sh /root/tar.sh
寫(xiě)定時(shí)任務(wù)時(shí)的說(shuō)明
(1)寫(xiě)定時(shí)任務(wù)時(shí)要加注釋說(shuō)明,注釋要包括(時(shí)間摩泪,編寫(xiě)的人員和任務(wù)的作用)笆焰;
(2)注意寫(xiě)環(huán)境變量,默認(rèn)是/usr/bin; /bin加勤;
(3)注意一些符號(hào)要加轉(zhuǎn)義仙辟;
(4)輸出的信息一定要定義到空文件中/dev/null;
(5)盡量使用腳本文件完成。-
編寫(xiě)定時(shí)任務(wù)的規(guī)范
1.使用命令編寫(xiě)定時(shí)任務(wù)
(1)測(cè)試命令是否執(zhí)行鳄梅;
(2)放入定時(shí)任務(wù)(用絕對(duì)路徑)叠国;
(3)調(diào)整時(shí)間進(jìn)行測(cè)試;
(4)檢查日志/檢查任務(wù)執(zhí)行結(jié)果戴尸;- 用腳本編寫(xiě)定時(shí)任務(wù)
(1)先編寫(xiě)腳本粟焊;
(2)測(cè)試腳本的執(zhí)行;
(3)放到定時(shí)任務(wù)中執(zhí)行孙蒙;
(4)調(diào)整時(shí)間進(jìn)行測(cè)試(先在自己的測(cè)試環(huán)境中測(cè)試项棠,因?yàn)橛械钠髽I(yè)服務(wù)器不能隨時(shí)更改時(shí)間);
(5)檢查日志/檢查任務(wù)的執(zhí)行結(jié)果挎峦;
- 用腳本編寫(xiě)定時(shí)任務(wù)