定時任務(wù)
什么是定時任務(wù)
類似鬧鐘
Linux下面定時執(zhí)行任務(wù)
備份
流量低谷期(人少的時候)
腳本/命令
定時任務(wù)分類
crontab (cronie)
工作必會
anacron
適用于 服務(wù)器非7*24小時運(yùn)行
atd
一次性的定時任務(wù)
crontab 分類
系統(tǒng)的定時任務(wù)
配置文件
/etc/crontab
目錄
etc/cron.daily
這個目錄內(nèi)容系統(tǒng)定時任務(wù) 會每天執(zhí)行
etc/cron.hourly
這個目錄內(nèi)容系統(tǒng)定時任務(wù) 會小時執(zhí)行
etc/cron.monthly
這個目錄內(nèi)容系統(tǒng)定時任務(wù) 會每月執(zhí)行
etc/cron.weekly
這個目錄內(nèi)容系統(tǒng)定時任務(wù) 會每周執(zhí)行
日志切割
系統(tǒng)定時任務(wù)+logroate
中毒
定時檢查
存放在開機(jī)自啟動
#用戶自己的定時任務(wù)
crontab -l
list
查看 當(dāng)前用戶的定時任務(wù)
crontab -e
edit
修改當(dāng)前用戶的定時任務(wù)
查看 修改定時任務(wù)
crontab -l
cat /var/spool/cron/root
crontab -e
vi /var/spool/cron/root
定時任務(wù)格式
規(guī)則
什么時候做什么事
分時日月周 命令/腳本
特殊符號
*
每
/
每2分鐘
每隔xxx分鐘
*/ * * * *date>>/tmp/oldboy.txt
檢查結(jié)果
看文件的內(nèi)容
看日志
容易混淆
*/1 * * * *date>>/tmp/oldboy.txt 每隔一分鐘
* * * * *date>>/tmp/oldboy.txt 每隔一分鐘
1 * * * *date>>/tmp/oldboy.txt 每個小時的第一分鐘
一樣
-
01-23
,
08,09,10,11
定時任務(wù)日志
···
# 定時任務(wù)實(shí)際備份案例
#第1個里程碑-命令行測試 (測試命令是否ok)
#第2個里程碑-書寫腳本并測試腳本
#第3個里程碑-寫入定時任務(wù) 每分鐘執(zhí)行 檢查
#第4個里程碑-寫入定時任務(wù) 根據(jù)要求修改時間
···
#書寫腳本拍錯
先運(yùn)行里面的命令
運(yùn)行腳本 顯示腳本的執(zhí)行過程
sh -x
帶+號的就是腳本執(zhí)行過程
加號越多越優(yōu)先執(zhí)行
每天晚上12點(diǎn)打包備份/etc目錄到/tmp下
#定時任務(wù)箴言(坑)
一定要加上1個·注釋
書寫定時任務(wù)的時候 盡量使用腳本
運(yùn)行腳本使用sh
在定時任務(wù)中 %有特殊含義 相當(dāng)于回車 加上撬棍(\)就可以了
定時任務(wù)中的命令/腳本 使用絕對路徑
用戶的定時任務(wù)
用戶家目錄下
系統(tǒng)定時任務(wù)
根下
在定時任務(wù)里面 每個命令腳本 定向到空 或追加到文件
寫法

image.png
原因

image.png
故障案例

image.png
定時任務(wù)中運(yùn)行腳本環(huán)境變量問題
使用命令用絕對路徑
腳本開頭 重新設(shè)置 PATH
. /etc/profile
或
source /etc/profile