linux cron學習體系

2021-08-26 22:52:40 字數 1415 閱讀 3613

linux有個服務,叫cron,提供例行性作業排程。

crontab是乙個命令,用於設定週期性被執行的作業。該詞源於希臘語 chronos(χρόνος),原意是時間,而crond正是它的守護程序。

linux系統原本就有非常多的例行性工作,因此這個服務預設是啟動的。可通過service crond status,來瞧瞧先。為了安全性的問題,可在/etc/cron.deny中,將不可以使用crontab的使用者記錄。乙個使用者一行。

當think使用crontab命令後,他的工作會被記錄到/var/spool/cron/think。同時,linux系統會將cron執行的每一項作業記錄到/var/log/cron這個日誌檔案。

crontab語法如下:

crontab [-u username] [-l|-e|-r]

引數:-u:只有root才能進行這個任務,即幫其他使用者新建/刪除作業排程

-l:查閱crontab的作業內容

-e:編輯crontab的作業內容

-r:刪除crontab的全部作業內容,刪除一項,請用-e

例子:1)用think的身份在每天的12:00發信給自己

crontab -e

#此時會進入vi的編輯介面讓你編輯工作,注意,每項作業都是一行,而且,最好使用絕對路徑

0 12 * * * mail think -s "at 12:00" < /home/think/.bashrc

#分 時 日 月 周 |《**********===命令串**********===》|

編輯完,輸入":wq"儲存離開vi即可。

2)假若你的女朋友生日是 5 月 2 日,你想要在 5 月 1 日的 23:59 發一封信給他,這封信的內容已經寫在 /home/dmtsai/lover.txt 內了,該如何進行?

解:59 23 1 5 * mail kiki < /home/dmtsai/lover.txt

3)假如每五分鐘需要執行 /home/dmtsai/test.sh 一次,又該如何?

解:*/5 * * * * /home/dmtsai/test.sh

以上談的都是基於使用者,那麼基於系統呢?直接修改/etc/crontab這個檔案即可。

有三種型別:

其一,命令型

0 1 * * * think mail -s "testing" water < /home/dmtsai/test.txt

讓think每小時給water發郵件

其二,目錄型

*/2 * * * * root run-parts /root/runcron

讓root每2分鐘去執行/root/runcron下的所有可執行檔案

其三,程式型

*/5 * * * * root /bin/mrtg /etc/mrtg/mrtg.cfg

讓root每5分鐘去執行/etc/mrtg/下的mrtg程式

linux cron命令學習

whereis cron 可以看到,cron是乙個系統管理員命令,只有root許可權才能使用。在本人所玩的嵌入式系統中,根本就沒有cron這個東西 嵌入式系統中的資源是寶貴的,盡量不要有一些相關性不大的東西在系統中 之所以寫這篇學習心得,也純粹是感覺cron這個東西挺好玩的 因為很多沒有經過系統驗證...

Linux cron任務排程

任務排程 是指系統在某個時間執行的特定的命令或程式。相當於windows任務管理器。任務排程分類 系統工作 有些重要的工作必須周而復始地執行。如病毒掃瞄等 個別使用者工作 個別使用者可能希望執行某些程式,比如對 mysql 資料庫的備份 語法 crontab 選項 設定任務排程檔案 etc cron...

linux cron計畫任務

crontab e 例如 每天兩點鐘執行 0 2 1 usr bin python www tbktsh sendms.py dev null 01 root run parts etc cron.hourly 每小時執行 etc cron.hourly內的指令碼,run parts 這個引數是指執...