linux的計(jì)劃任務(wù):
linux制作計(jì)劃任務(wù)有三個(gè)命令:at crontab anacron
1.at
at是執(zhí)行一次的計(jì)劃任務(wù),一旦執(zhí)行了這個(gè)任務(wù)就會消失
#at now+2 minutes 回車
>輸入要執(zhí)行的命令
>ctrl+d 結(jié)束輸入
#at 16:00 dec 17 回車 ---在12月17號的16:00執(zhí)行的命令
>輸入要執(zhí)行的命令
>ctrl+d 結(jié)束輸入
#at 17:00 ----在今天的17點(diǎn)執(zhí)行的命令
#atq ---------查看系統(tǒng)里的at計(jì)劃任務(wù)
#atrm -------刪除計(jì)劃任務(wù),后面加的是計(jì)劃任務(wù)的工作號
任務(wù)保存在/var/spool/at 目錄下
/etc/at.allow 可以創(chuàng)建該用戶,先檢查at.allow文件而后才是at.deny文件
/etc/at.deny 直接在文件里添加禁用用戶的用戶名
at的控制文件,限制登陸用戶對at的使用,默認(rèn)超級用戶可以使用
2.cron服務(wù)
cron的優(yōu)點(diǎn)就是能夠周期性的執(zhí)行某個(gè)命令
cron的后臺進(jìn)程是crond crond也是system V的服務(wù)
#crontab -e 編輯當(dāng)前用戶的cron表
#crontab -l 查看當(dāng)前用戶的cron表
#crontab -r 刪除當(dāng)前用戶的cron進(jìn)程
#crontab -u 用戶名 <-e><-l><-r> 以某個(gè)用戶的身份來控制cron表
任務(wù)計(jì)劃的文件保存在
/var/spool/cron目錄下
crontab -e
出現(xiàn)一個(gè)編輯文本
* * * * * 命令
分鐘(0-59) 小時(shí)(0-23) 月的幾號(1-31) 幾月(1-12) 星期幾(0-6)
如果是每兩分鐘發(fā)送一次
*/2 * * * * 命令
*/1 * * * * 命令 每分鐘執(zhí)行一次
#vi /etc/crontab
#run-parts /etc/cron.hourly
執(zhí)行目錄/etc/cron.hourly/之下的所有腳本/程序.
crond服務(wù)的控制
類似at控制,控制文件在/etc/cron.deny
3. anacrontab
就是系統(tǒng)計(jì)劃任務(wù)的擴(kuò)展文件:在一個(gè)指定時(shí)間間隔錯(cuò)過后自動執(zhí)行任務(wù)
anacrontab的格式是:
period delay job-identifier command
period -----命令執(zhí)行的頻率(天數(shù))
delay ------延遲時(shí)間(分鐘)
job-identifier -----任務(wù)的描述,用在anacron的消息中,并作為實(shí)踐戳文字的名稱 只能包括非空白的字符(斜線除外)
command ----要執(zhí)行的命令
vi /etc/anacrontab
1 65 cron.daily run-parts /etc/cron.daily
7 70 cron.weekly run-parts /etc/cron.weekly
30 75 cron.monthly run-parts /etc/cron.monthly
沒隔一天啟動機(jī)器后,在開機(jī)65分鐘后,檢查是否啟動了cron.daily是否被啟動了,如果沒有,執(zhí)行run-parts /etc/cron.daily命令
注:anacrontab只是對cron服務(wù)的一個(gè)補(bǔ)充。只有在新建了cron計(jì)劃任務(wù)后,才用anacrontab服務(wù)來補(bǔ)充這個(gè)cron服務(wù)來補(bǔ)充
|