定時(shí)任務(wù)
代替人自動(dòng)完成一些任務(wù)
定時(shí)任務(wù)實(shí)現(xiàn)的方法
定時(shí)任務(wù)軟件:cronie
定時(shí)任務(wù)軟件:atd --- 設(shè)置一次定時(shí)任務(wù),執(zhí)行一次
定時(shí)任務(wù)軟件:anacron --- 定時(shí)時(shí)間有固定設(shè)置 即每小時(shí),每天,每星期,每月
實(shí)現(xiàn)定時(shí)任務(wù)配置
系統(tǒng)默認(rèn)定時(shí)任務(wù):
cron.hourly --- 每小時(shí)執(zhí)行目錄中腳本文件
cron.daily --- 每天執(zhí)行目錄中腳本文件
cron.weekly --- 每周執(zhí)行目錄中腳本文件
cron.monthly --- 每月執(zhí)行目錄中腳本文件
用戶自定義設(shè)置定時(shí)任務(wù)
crontab --- 設(shè)置和查看定時(shí)任務(wù)命令
crontab -l --- 查看設(shè)置的定時(shí)任務(wù)
crontab -e --- 編輯設(shè)置定時(shí)任務(wù)/語法檢查功能
配置文件
/var/spool/cron/root --- root用戶設(shè)置定時(shí)任務(wù)配置文件
/var/spool/cron/oldboy --- oldboy用戶設(shè)置定時(shí)任務(wù)配置文件
/var/log/cron --- 定時(shí)任務(wù)日志文件
定時(shí)任務(wù)啟動(dòng)
systemctl start crond
systemctl enable crond
[root@oldboy63-libo ~]# 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í) 日 月 周
分鐘: 0-59
小時(shí): 0-23
日期: 1-31
月份: 1-12
星期: 0-6
/n 每隔多久執(zhí)行定時(shí)任務(wù)
時(shí)間表示形式:
* 每多少時(shí)間
*/n 每隔多久 間隔時(shí)間
1-10 連續(xù)時(shí)間范圍
1,10 非連續(xù)時(shí)間范圍
測(cè)試環(huán)境測(cè)試定時(shí)任務(wù)沒有問題,執(zhí)行腳本將線上服務(wù)器做改動(dòng)
compress.sh
#!/bin/bash
tar xxxxx
線下服務(wù)器
echo ‘* * * * * * /bin/sh compress.sh’>>/var/spool/cron/root
tail -f /var/log/cron 實(shí)時(shí)監(jiān)控定時(shí)任務(wù)日志信息
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
1: 編寫定時(shí)/定時(shí)任務(wù)觸發(fā) 時(shí)間信息
2: 主機(jī)名稱信息
3: 讀取什么定時(shí)任務(wù)文件信息
4: 定時(shí)任務(wù)完成了事情
定時(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í)行情況
第三個(gè)里程:把腳本放入定時(shí)任務(wù)中(絕對(duì)路徑)
第四個(gè)里程:調(diào)整時(shí)間信息
第五個(gè)里程:檢查日志信息,查看任務(wù)執(zhí)行結(jié)果