crond服務及用法

2021-08-02 07:47:51 字數 2525 閱讀 7832

crond是linux下用來週期性的執行某種任務或等待處理某些事件的乙個守護程序,即crontab的守護程序。crond服務預設情況(每分鐘),會檢查系統中是否有需要執行的定時任務,如果有,就會根據事先定義好的規則來執行這個定時任務。在/etc目錄下有乙個crontab檔案,這個就是系統任務排程的配置檔案: 

crontab是乙個命令,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於"crontab"檔案中,以供之後讀取和執行。用 service crond status 可以檢視 cron服務狀態,如果沒有啟動則用 service crond start啟動它:

crontab –u   //設定某個使用者的cron服務,一般root使用者在執行這個命令式需要此引數

crontab -l    //列出某個使用者cron服務的詳細內容

crontab -r    //刪除某個使用者的cron服務

crontab -e    //編輯某個使用者的cron服務

crontab常用的使用格式有如下兩種:

crontab [-u user] [file]

crontab [-u user] [-e|-l|-r |-i]

◇ 選項含義如下:

-u user:用來設定某個使用者的crontab服務,例如,「-u home」表示設定home使用者的crontab服務,此引數一般有root使用者來執行。

file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。如果在命令列中沒有指定這個檔案,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。

-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。

-l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。

-r:從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。

-i:在刪除使用者的crontab檔案時給確認提示。

◇ crontab檔案的含義:

使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個字段代表一項設定,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:

minute   hour   day  month   week   command其中:

minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。

◇ 在以上各個欄位中,還可以使用以下特殊字元:

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」

中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」

正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。

◇ crontab檔案舉例:

0 */3 * * * /usr/local/apache2/apachectl restart表示每隔3個小時重啟apache服務一次。

30 3 * * 6 /webdata/bin/backup.sh表示每週六的3點30分執行/webdata/bin/backup.sh指令碼的操作。

0 0 1,20 * *  fsck /dev/sdb8表示每個月的1號和20號檢查/dev/sdb8磁碟裝置。

10 5 */5 * *  echo "">/usr/local/apache2/log/access_log表示每個月的5號、10號、15號、20號、25號、30號的5點10分執行清理apache日誌操作。

◇ 建立乙個cron(每分鐘都會在test.txt裡輸入當前時間):

1. 登入 linux;

2. 輸入命令 crontab  -e;

3. 輸入」*/1 * * * * date >> $home/test.txt」,儲存並退出;

◇ 檢視test.txt中的結果,可以看到text.txt中記錄了當前時間,記錄間隔為1分鐘,和預期一致:

使用busybox的crond服務

crond是乙個服務,乙個守護程序。crond 是linux用來定期執行程式的命令,crond命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。crontab是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。按照網上查詢的資料執行時經常會...

定時任務crond服務

crond crond 是linux系統中用於定期執行命令或指定程式任務的服務。一般情況下,安裝完系統操作之後,缺省會啟動任務排程服務。linux排程任務的工作可以分為兩類 系統自身執行的工作 系統週期性執行的任務工作,如 輪詢系統日誌,備份系統資料,清理快取等 使用者執行的工作 某個使用者定期要做...

linux中crond服務與crontab用法詳解

sbin service crond start 啟動服務 sbin service crond stop 關閉服務 sbin service crond restart 重啟服務 sbin service crond reload 重新載入配置 1.首先切換到超級使用者模式,輸入以下命令 cron...