課程介紹部分:
1.定時(shí)任務(wù)概念介紹
2.定時(shí)任務(wù)現(xiàn)實(shí)方法
3.定時(shí)任務(wù)配置應(yīng)用
4.定時(shí)任務(wù)操作練習(xí)
一、系統(tǒng)定時(shí)任務(wù)概念==生活中的鬧鐘
1.時(shí)間信息有時(shí)不準(zhǔn) 時(shí)間同步操作 每過(guò)10分鐘
2.備份數(shù)據(jù)信息 凌晨(代替人完成一些任務(wù))
二瞧甩、系統(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í)實(shí)現(xiàn)定時(shí)任務(wù)配置
4.實(shí)現(xiàn)定時(shí)任務(wù)配置
01.系統(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
02.用戶定義設(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ù)日志文件
05.定時(shí)任務(wù)如何進(jìn)行配置
準(zhǔn)備工作:
systemctl start crond
systemctl enable crond
編寫(xiě)定時(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/host /etc/hosts.bak
練習(xí):
01. 凌晨2點(diǎn)半 將數(shù)據(jù)進(jìn)行備份
crontab -e
30 2 * * * cp /etc/host /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): 編寫(xiě)定時(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)整
02. 下午3點(diǎn)40,8月6日,周日 將數(shù)據(jù)進(jìn)行備份 錯(cuò)誤?
40 15 6 8 0 和女朋友發(fā)生小秘密
PS: 在設(shè)置時(shí)間信息時(shí), 周信息不能和日期信息一起設(shè)置
03. 每隔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ī)劃
04. 每天上午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í)行
05. 每天上午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í)間范圍
腳本編寫(xiě)定時(shí)任務(wù):
第一個(gè)里程: 編寫(xiě)腳本信息
第二個(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