全面解析Linux計劃任務(wù)cron
作者:佚名
Linux計劃任務(wù)是簡單來說就像是一個定時工作模式,對一個任務(wù)給它定時來完成的時間,這里先簡單介紹一下Linux計劃任務(wù)cron。
Linux計劃任務(wù)cron是一個定時模式,例如我們可以在系統(tǒng)使用最少時對系統(tǒng)進(jìn)行備份,但是管理員不可能在半夜來到公司工作,那么就可以使用Linux計劃任務(wù)cron,現(xiàn)在來介紹一下具體使用方法。
目前流行的Linux系統(tǒng)在安裝好后cron都是安裝好的并且是隨機(jī)啟動的
啟動cron服務(wù) /sbin/service crond start
停止服務(wù) /sbin/service crond stop
重啟服務(wù) /sbin/service crond restart
重新加載 /sbin/service crond reload
停止服務(wù) /sbin/service crond stop
重啟服務(wù) /sbin/service crond restart
重新加載 /sbin/service crond reload
服務(wù)的啟動停止介紹完了下面來說如何添加計劃任務(wù)
使用crontab命令
crontab -u 設(shè)定某個用戶的cron服務(wù)
crontab -l 列出當(dāng)前用戶的cron服務(wù)的詳細(xì)內(nèi)容
crontab -r 刪除當(dāng)前用戶的cron服務(wù)
crontab -e編輯當(dāng)前用戶的cron服務(wù)
crontab -u 設(shè)定某個用戶的cron服務(wù)
crontab -l 列出當(dāng)前用戶的cron服務(wù)的詳細(xì)內(nèi)容
crontab -r 刪除當(dāng)前用戶的cron服務(wù)
crontab -e編輯當(dāng)前用戶的cron服務(wù)
例如當(dāng)前登陸的用戶是root
運(yùn)行crontab -e 就給root用戶創(chuàng)建一個計劃任務(wù)
運(yùn)行crontab -e 進(jìn)入vi編輯計劃任務(wù)內(nèi)容
第1位分鐘表示(0-59)第2位表示小時(0-23)
第3位表示天(1-31)第4位表示月份(1-12)
第5位置表示星期(0-6)0表示星期日
后面是你要執(zhí)行的任務(wù)
每一位之間使用空格分開
上面時間除了使用數(shù)字還有幾個特殊符號
“*”表示所有數(shù)值 如第一位使用* 表示每分鐘
“/”表示每 如果第一位 使用 */5 表示每5分鐘
“-”表示數(shù)值范圍“ ,”來隔開離散的數(shù)值 如第2位 是1-6,8 表示1點到6點,還有8點
運(yùn)行crontab -e 就給root用戶創(chuàng)建一個計劃任務(wù)
運(yùn)行crontab -e 進(jìn)入vi編輯計劃任務(wù)內(nèi)容
第1位分鐘表示(0-59)第2位表示小時(0-23)
第3位表示天(1-31)第4位表示月份(1-12)
第5位置表示星期(0-6)0表示星期日
后面是你要執(zhí)行的任務(wù)
每一位之間使用空格分開
上面時間除了使用數(shù)字還有幾個特殊符號
“*”表示所有數(shù)值 如第一位使用* 表示每分鐘
“/”表示每 如果第一位 使用 */5 表示每5分鐘
“-”表示數(shù)值范圍“ ,”來隔開離散的數(shù)值 如第2位 是1-6,8 表示1點到6點,還有8點
具體實例如下
每天1點向某個文件寫入一段話
0 1 * * * echo "hello world" >> /tmp/test.txt
每5分鐘向執(zhí)行一個程序或者命令
*/5 * * * * 執(zhí)行的命令
每天1點向某個文件寫入一段話
0 1 * * * echo "hello world" >> /tmp/test.txt
每5分鐘向執(zhí)行一個程序或者命令
*/5 * * * * 執(zhí)行的命令
如何知道您的計劃任務(wù)是否運(yùn)行了,1你可以去檢查您要執(zhí)行的命令是否在你指定的時間去運(yùn)行了,2有的命令運(yùn)行結(jié)果不好查看你可以去查cron的日志/var/log/cron
在此文件中記錄了計劃任務(wù)執(zhí)行的情況
在此文件中記錄了計劃任務(wù)執(zhí)行的情況
上述方法添加完成計劃任務(wù)后會在/var/spool/cron目錄中生成一個用戶名字的文件,文件里面就是你的計劃任務(wù),cron服務(wù)每分鐘讀取一次/var/spool/cron中的文件
還有一種方法可以添加計劃任務(wù)自己編輯/etc/crontab (cron服務(wù)每分鐘也讀取一次/etc/crontab文件)
在文件的末尾添加計劃任務(wù) 格式和上述方法完全一樣
/etc/crontab里面還有其他的東西,下面來說下
MAILTO=root //如果出現(xiàn)錯誤,或者有數(shù)據(jù)輸出,數(shù)據(jù)作為郵件發(fā)給這個帳號
01 * * * * root run-parts /etc/cron.hourly 每個小時去執(zhí)行一遍/etc/cron.hourly內(nèi)的腳本
02 4 * * * root run-parts /etc/cron.daily 每天去執(zhí)行一遍/etc/cron.daily內(nèi)的腳本
22 4 * * 0 root run-parts /etc/cron.weekly 每星期去執(zhí)行一遍/etc/cron.weekly內(nèi)的腳本
42 4 1 * * root run-parts /etc/cron.monthly 每個月去執(zhí)行一遍/etc/cron.monthly內(nèi)的腳本
注意上面的 run-parts 參數(shù)如果去掉run-parts 后面就要跟要執(zhí)行的某個腳本名,如果加上run-parts參數(shù)后面就要跟目錄名了
在文件的末尾添加計劃任務(wù) 格式和上述方法完全一樣
/etc/crontab里面還有其他的東西,下面來說下
MAILTO=root //如果出現(xiàn)錯誤,或者有數(shù)據(jù)輸出,數(shù)據(jù)作為郵件發(fā)給這個帳號
01 * * * * root run-parts /etc/cron.hourly 每個小時去執(zhí)行一遍/etc/cron.hourly內(nèi)的腳本
02 4 * * * root run-parts /etc/cron.daily 每天去執(zhí)行一遍/etc/cron.daily內(nèi)的腳本
22 4 * * 0 root run-parts /etc/cron.weekly 每星期去執(zhí)行一遍/etc/cron.weekly內(nèi)的腳本
42 4 1 * * root run-parts /etc/cron.monthly 每個月去執(zhí)行一遍/etc/cron.monthly內(nèi)的腳本
注意上面的 run-parts 參數(shù)如果去掉run-parts 后面就要跟要執(zhí)行的某個腳本名,如果加上run-parts參數(shù)后面就要跟目錄名了
也可以限制cron的使用
如果在/etc/目錄中存在cron.allow cron.deny文件
只有cron.allow文件中列出的用戶才能使用cron服務(wù),同時忽略cron.deny文件
如果cron.allow文件不存在,cron.deny文件中列出的用戶將被禁止使用cron服務(wù)。
如果在/etc/目錄中存在cron.allow cron.deny文件
只有cron.allow文件中列出的用戶才能使用cron服務(wù),同時忽略cron.deny文件
如果cron.allow文件不存在,cron.deny文件中列出的用戶將被禁止使用cron服務(wù)。
這樣我們就完成了Linux計劃任務(wù)cron的學(xué)習(xí)。
【編輯推薦】
責(zé)任編輯:小霞
來源:
互聯(lián)網(wǎng)