關於crond
crond是linux下的一個週期性的執行某種任務或者等待處理某些時間的一個守護進程,與windows下的計劃任務類似,當安裝完成操作後,默認會安裝此服務工具,並且會自動啓動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
crond並且也是一個守護進程,類似於計劃任務,crond進程會自動啓動。
上圖中我們可以看到1920crond進程,這個進程是一個守護進程,
linux任務調度的工作主要分爲以下兩類:
1、系統執行的工作:系統週期性所要執行的工作,如備份系統數據、清理緩存
2、個人執行的工作:某個用戶定期要做的工作,例如每隔10分鐘檢查郵件服務器是否有新信,這些工作可由每個用戶自行設置
crontab命令
與crond相關的命令就是crontab命令,我們通過這個命令實現定時任務的工作。
crontab有幾個關於命令的選項,
- -u用來設定某個用戶的crontab服務。
- file:file是命令文件的名字,標識將file作爲crontab的任務列表文件並且載入crontab。
- -e :編輯某個用戶的crontab文件內容。
- -l :顯示某個用戶的crontab文件內容。
- -r : 刪除用戶當前的crontab
- -c :指定crontab的目錄
特別需要說明下關於crontab的文件格式:
在這裏有幾個符號是有特殊意義的:
符號 | 意義 |
---|---|
* | 代表所有可能的值,實際上就是每的意思,比如每年每月。。。 |
, | 可以使用逗號隔開的值指定一個列表範圍 |
- | 可以用整數之間的-標識一個整數的範圍 |
/ | 可以用正斜線指定時間的間隔頻率 |
# | 註釋行 |
例如:
*/1 * * * * /bin/echo Hello, world! >>/home/yuzhe/text.txt
這個就是沒一分鐘向text.txt文件當中追加寫入Hello,world!。
來看看效果。
當然我們也可以向終端屏幕上定時寫東西。終端其實也就是一個文件,我們向這個文件上寫入內容即可。
*/1 * * * * /bin/echo Hello, world! >> /dev/pts/0
這裏的/dev/pts/0就是你所登陸的終端對應得,要去查的話,只需要使用命令wo am i
即可。