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

  • 定時任務概念

  • 定時任務實現(xiàn)方式

  • 定時任務配置應用

1.系統(tǒng)定時任務概念
1.類似于生活中的鬧鐘
2.時間信息不準時,可定時時間同步操作
3.備份數(shù)據(jù)信息(代替人自動完成一些任務)
2.系統(tǒng)定時任務實現(xiàn)方法
1.定時任務軟件:
cronie :默認系統(tǒng)自帶定時服務
atd:定時任務只執(zhí)行一次,一次性定時服務
anacron:定時時間有固定設置 ---> cronie-anacron
實現(xiàn)定時任務配置:
方法一:系統(tǒng)默認定時任務 (/etc下)
cron.hourly/ --- 每小時執(zhí)行目錄中腳本文件
cron.daily/ --- 每天執(zhí)行目錄中腳本文件
cron.weekly/ --- 每周執(zhí)行目錄中腳本文件
cron.monthly/ --- 每月執(zhí)行目錄中腳本文件
例如:寫個腳本放進目錄執(zhí)行

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

方法二:用戶自定義設置定時任務
crontab:設置和查看定時任務命令
crontab -l --- 查看設置的定時任務
crontab -e --- 編輯設置定時任務/語法檢查功能
配置文件路徑:
/var/spool/cron/root --- root用戶設置定時任務配置文件
/var/spool/cron/oldboy --- oldboy用戶設置定時任務配置文件
/var/log/cron --- 定時任務日志文件
定時任務如何進行配置
準備工作:確認定時任務服務是否開啟

systemctl start crond
systemctl enable crond

編寫定時任務:

定時任務樣例文件
[root@oldboy63 ~]# 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

————————————————————————————————————————————————————————
* * * * *               命令/腳本
定時任務時間信息        執(zhí)行任務信息
時間信息:
*(分)*(時)*(日)*(月)*(周)
分鐘: 0-59 
小時: 0-23
日期: 1-31    
月份: 1-12 
星期: 0-6

例:
凌晨2點半  將數(shù)據(jù)進行備份:cp /etc/host /etc/hosts.bak
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)
        01: 編寫定時/定時任務觸發(fā)  時間信息
        02: 主機名稱信息
        03: 讀取什么定時任務文件信息
        04: 定時任務完成了事情
2. 加快定時任務執(zhí)行
調(diào)整時間信息-----date -s
PS: 調(diào)整時間盡量向后調(diào)整

3.下午3點40,8月6日,將數(shù)據(jù)進行備份:
  首先,日期不對
  所以,在設置時間信息時,周信息不能和日期信息一起設置

4.每隔1個小時,數(shù)據(jù)備份:
  /n 每隔多久執(zhí)行定時任務
  0  */1 * * * cp /etc/hosts  /etc/hosts.01
  每過整點時就會執(zhí)行
  在設置好一個時間信息時,前面的時間也要做好規(guī)劃

5.每天上午9,10,11,12點進行數(shù)據(jù)備份
  - :表示連續(xù)的時間范圍
  0 9-12 * * * cp /etc/hosts  /etc/hosts.01

6.每天上午9,11點進行數(shù)據(jù)備份:
  , :表示非連續(xù)的時間范圍
  0  9,11  * * *  cp /etc/hosts  /etc/hosts.01

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

定時任務編寫常見問題:

1.每隔5分鐘 進行時間同步:
        方法一: 采用絕對路徑進行編寫
       */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
       /dev/null  -------系統(tǒng)黑洞
       postfix 服務開啟 --- /var/spool/mail/root         郵件 文件不斷變大  占用更多block   
       postfix 服務關閉 --- /var/spool/postfix/maildrop/      大量小文件    占用更多inode

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
       解決方式一: 將特殊符號前面加上轉(zhuǎn)義符號
       * * * * * 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
       說明: 定時任務中有些特殊符號無法識別

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

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容