crontab命令

 
任務調度的crond常駐命令:
首先cron命令會搜索/var/spool/cron目錄,尋找以/etc/passwd文件中的用戶名命名的crontab文件,被找到的這種文件將載入內存。例如一個用戶名爲foxy的用戶,它所對應的crontab文件就應該是 /var/spool/cron/foxy。也就是說,以該用戶命名的crontab文件存放在/var/spool/cron目錄下面。cron命令還將搜索/etc/crontab文件,這個文件是用不同的格式寫成的。cron啓動以後,它將首先檢查是否有用戶設置了crontab文件,如果沒有就轉入“休眠”狀態,釋放系統資源。所以該後臺進程佔用資源極少。它每分鐘“醒”過來一次,查看當前是否有需要運行的命令。命令執行結束後,任何輸出都將作爲郵件發送給crontab的所有者,或者是/etc/crontab文件中MAILTO環境變量中指定的用戶。上面簡單介紹了一些cron的工作原理,但是cron命令的執行不需要用戶干涉;需要用戶修改的是crontab中要執行的命令序列,所以下面介紹crontab命令。
  
crontab命令    
   crontab命令用於安裝、刪除或者列出用於驅動cron後臺進程的表格。也就是   說,用戶把需要執行的命令序列放到crontab文件中以獲得執行。每個用戶都可以有自己的crontab文件。下面就來看看如何創建一個crontab 文件。在/var/spool/cron下的crontab文件不可以直接創建或者直接修改。crontab文件是通過crontab命令得到的。現在假設有個用戶名爲foxy,需要創建自己的一個crontab文件。首先可以使用任何文本編輯器建立一個新文件,然後向其中寫入需要運行的命令和要定期執行的時間。然後存盤退出。假設該文件爲/tmp/test.cron。再後就是使用crontab命令來安裝這個文件,使之成爲該用戶的crontab文件。
鍵入
crontab   test.cron
這樣一個crontab   文件就建立好了。可以轉到/var/spool/cron目錄下面查看,發現多了一個foxy文件。這個文件就是所需的crontab文件。
 
crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。每個域之間使用空格或者製表符分隔。格式如下∶
minute hour day-of-month month-of-year day-of-week commands
 

第一項是分鐘,第二項是小時,第三項是一個月的第幾天,第四項是一年的第幾個月,第五項是一週的星期幾,第六項是要執行的命令。這些項都不能爲空,必須填入。如果用戶不需要指定其中的幾項,那麼可以使用*代替。因爲*是統配符,可以代替任何字符,所以就可以認爲是任何時間,也就是該項被忽略了。 

crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啓動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。而linux任務調度的工作主要分爲以下兩類:
1、系統執行的工作:系統週期性所要執行的工作,如備份系統數據、清理緩存.
2、個人執行的工作:某個用戶定期要做的工作,例如每隔10分鐘檢查郵件服務器是否有新信,這些工作可由每個用戶自行設置
Crontab是UNIX系統下的定時任務觸發器,其使用者的權限記載在下列兩個文件中:
文件
含義
/etc/cron.deny
該文件中所列的用戶不允許使用Crontab命令
/etc/cron.allow
該文件中所列的用戶允許使用Crontab命令
/var/spool/cron/
是所有用戶的crontab文件
/var/spool/cron/crontabs
/var/spool/cron/crontabs
Crontab命令的格式爲:crontab –l|-r|-e|-i [username],參數含義:

-l
顯示用戶的Crontab文件的內容
crontabl -1

-i
刪除用戶的Crontab文件前給提示
crontabl -ri

-r
從Crontab目錄中刪除用戶的Crontab文件
crontabl -r

-e
編輯用戶的Crontab文件
crontabl -e
用戶所建立的Crontab文件存於/var/spool/cron中,其文件名與用戶名一致。
它的格式共分爲六段,前五段爲時間設定段,第六段爲所要執行的命令段,
格式如下:* * * * * <command>

例:
1如果用戶的Crontab文件的內容是:29 19 * * * echo its dinner time,則系統每天的19:29顯示‘its dinner time’
2:crontab中處理的文件格式爲 分鐘 小時 日期 月 星期 執行的文件名 *代表所有條件 5 * * * * rem /home/oracle/execsql 代表每個小時的5分鐘時執行/home/oracle/execsql文件。




發佈了31 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章