crontab命令小結

之前爲了做數據庫備份,瞭解了一些關於crontab的知識,現在將其總結一下。

一、什麼是crontab?(以下參考百度)

crond是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啓動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

二、crond服務

安裝crontab:

yum install crontabs

服務操作說明:

/sbin/service crond start //啓動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啓服務
/sbin/service crond reload //重新載入配置

查看crontab服務狀態:

service crond status

手動啓動crontab服務:

service crond start

查看crontab服務是否已設置爲開機啓動,執行命令:

ntsysv

加入開機自動啓動:

chkconfig –level 35 crond on

三、常用方法:

1). 創建一個新的crontab文件
創建一個名爲 cron的文件,其中是用戶名,例如, chensmcron。在該文件中加入如下的內容。

 # (put your own initials here)echo the date to the console every
 # 15minutes between 6pm and 6am
 0,15,30,45 18-06 * * * /bin/echo 'hello world' 

保存並退出。確信前面5個域用空格分隔。

$ crontab chensmcron

在上面的例子中,系統將每隔1 5分鐘向終端輸出一次“hello world”,關於crontab格式,我在某個博客裏看到了一張好用(好記)的圖:
這裏寫圖片描述
這裏就不過多贅述格式的問題
2). 列出crontab文件
爲了列出crontab文件,可以用:

$ crontab -l

3). 編輯crontab文件

$ crontab -e

此處需要注意,可能需要在E D I TO R環境變量設置,大多數默認設置爲vi,如果沒有設置需要自行設置環境變量。
編輯$ HOME目錄下的. profile文件,在其中加入這樣一行:

EDITOR=vi; export EDITOR

4). 刪除crontab文件

$ crontab -r

5). 注意事項
新創建的cron job,可能不會馬上執行,需要過幾分鐘才執行。如果重啓cron則馬上執行。
當crontab突然失效時,可以嘗試/etc/init.d/crond restart解決問題。或者查看日誌看某個job有沒有執行/報錯tail -f /var/log/cron。
千萬別亂運行crontab -r。它從crontab目錄(/var/spool/cron)中刪除用戶的Crontab文件。刪除了該用戶的所有crontab都沒了,crontab文件夾有T文件屬性,感興趣可以去了解一下哈哈。
在crontab中%是有特殊含義的,表示換行的意思。如果要用的話必須進行轉義\%,如經常用的date ‘+%Y%m%d’在crontab裏是不會執行的,應該換成date ‘+\%Y\%m\%d’。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章