cron是乙個linux定時執行工具,可以在無需人工干預的情況下執行作業。在ubuntu server 下,cron是被預設安裝並啟動的。通過/etc/crontab檔案,可以看到以下內容:
ununtu 通過呼叫 run-parts 命令,定時執行四個目錄下的所有指令碼。
1)/etc/cron.hourly,目錄下的指令碼會每個小時讓執行一次,在每小時的2分鐘時執行;
2)/etc/cron.daily,目錄下的指令碼會每天讓執行一次,在每天0點17分時執行;
3)/etc/cron.weekly,目錄下的指令碼會每週讓執行一次,在每週第七天的3點56分時執行;
4)/etc/cron.mouthly,目錄下的指令碼會每月讓執行一次,在每月19號的5點32分時執行;
當然,以上的時間均是系統預設時間,可以根據自己的需求進行修改。
在ubuntu 9.10下,cron是被預設安裝並啟動的。而 ubuntu 下啟動,停止與重啟cron,均是通過呼叫/etc/init.d/中的指令碼進行。命令如下:
1)service cron start /*啟動服務*/
2)service cron stop /*關閉服務*/
3)service cron restart /*重啟服務*/
4)service cron reload /*重新載入配置*/
可以通過以下命令檢視cron是否在執行(如果在執行,則會返回乙個程序id):
# pgrep cron
crontab 命令用於安裝、刪除或者列出用於驅動cron後台程序的**。也就是說,使用者把需要執行的命令序列放到crontab檔案中以獲得執行,每個使用者都可以有自己的crontab檔案。以下是這個命令的一些引數與說明:
1)crontab -u /*設定某個使用者的cron服務*/
2)crontab -l /*列出某個使用者cron服務的詳細內容*/
3)crontab -r /*刪除某個使用者的cron服務*/
4)crontab -e /*編輯某個使用者的cron服務*/
引數名稱 含義 示例
-l 顯示使用者的crontab檔案的內容 crontabl –l
-i 刪除使用者的crontab檔案前給提示 crontabl -ri
-r 從crontab目錄中刪除使用者的crontab檔案 crontabl -r
-e 編輯使用者的crontab檔案 crontabl -e
/etc/crontab檔案語法如下:
minute hour day month dayofweek command
分鐘 小時 天 月 天每星期 命令
每個字段代表的含義及取值範圍如下:
minute :分鐘(0-59),表示每個小時的第幾分鐘執行該任務
hour : 小時(1-23),表示每天的第幾個小時執行該任務
day : 日期(1-31),表示每月的第幾天執行該任務
month : 月份(1-12),表示每年的第幾個月執行該任務
dayofweek : 星期(0-6,0代表星期天),表示每週的第幾天執行該任務
command : 指定要執行的命令(如果要執行的命令太多,可以把這些命令寫到乙個指令碼裡面,然後在這裡直接呼叫這個指令碼就可以了,呼叫的時候記得寫出命令的完整路徑)
在這些欄位裡,除了「command」是每次都必須指定的字段以外,其它欄位皆為可選字段,可視需要決定。對於不指定的字段,要用「*」來填補其位置。同時,cron支援類似正規表示式的書寫,支援如下幾個特殊符號定義:
「*」 ,代表所有的取值範圍內的數字;
「/」 , 代表」每」(「*/5」,表示每5個單位);
「-」 , 代表從某個數字到某個數字(「1-4」,表示1-4個單位);
「,」 ,分開幾個離散的數字;
舉例如下:
5 * * * * ls /*指定每小時的第5分鐘執行一次ls命令*/
30 5 * * * ls /*指定每天的 5:30 執行ls命令*/
30 7 8 * * ls /*指定每月8號的7:30分執行ls命令*/
50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行檔案*/
1.執行如下命令新增任務
# crontab -e
1)直接執行命令列,比如每隔1分鐘執行date命令並將結果儲存至檔案/tmp/testcron.txt中,cron 格式如下:
*/1 * * * * date >> /tmp/testcron.txt
2)執行shell 指令碼,比如每隔3分鐘執行一次/var/backups/test.sh 檔案,cron 格式如下:
*/3 * * * * /var/backups/test.sh
檔案 /var/backups/test.sh 的內容如下:
———————————————————————————————————————–
#!/bin/sh
cd /var/backups/
now=`date 『+%y%m%d』`
tar -zcf /var/backups/$website.tar.gz /var/www/html/
———————————————————————————————————————–
2. 重啟cron 服務
# service cron restart
Ubuntu cron 定時執行任務
cron是乙個linux定時執行工具,可以在無需人工干預的情況下執行作業。在ubuntu server 下,cron是被預設安裝並啟動的。通過 etc crontab檔案,可以看到以下內容 ununtu 通過呼叫 run parts 命令,定時執行四個目錄下的所有指令碼。1 etc cron.hou...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
at定時任務
at的守護程序每60秒檢查一次作業佇列,有作業時檢查作業,時間恰好達到,則執行作業。前提 保證atd程序已經啟動,檢查atd程序是否啟動 ps ef grep atd。atd的命令格式 at 選項 時間 ctrl d 結束at命令的輸入。選項 m 任務完成後給使用者傳送郵件,沒有標準輸出。i atg...