linux cron命令學習

2021-09-30 10:43:04 字數 1530 閱讀 7519

# whereis cron

可以看到,cron是乙個系統管理員命令,只有root許可權才能使用。

在本人所玩的嵌入式系統中,根本就沒有cron這個東西(嵌入式系統中的資源是寶貴的,

盡量不要有一些相關性不大的東西在系統中)。

之所以寫這篇學習心得,也純粹是感覺cron這個東西挺好玩的;

因為很多沒有經過系統驗證,所以如果有理解錯誤的地方也感謝大家能夠指出來。

cron命令會週期性的讀取配置檔案並根據配置檔案中的配置來執行各個程式,配置檔案有:

/etc/crontab,這個是cron配置檔案的總入口;

/etc/cron.hourly,這個目錄中包含的是每小時需要執行一次的程式;

/etc/cron.daily,這個目錄中包含的是每天需要執行一次的程式;

/etc/cron.weekly,這個目錄包含的是每星期需要執行一次的程式;

/etc/cron.monthly,這個目錄包含的是每個月需要執行一次的程式。

因為有了這些對應的配置檔案,所以系統管理員可以根據需要進行配置。

比如你想週期性的執行ntp程式,那你可以將ntp放到/etc/cron.daily目錄下,

這樣ntp程式就會每天去執行一次。

# /etc/init.d/cron restart

可以用來重啟crond這個程式。

需要注意的是,通常將這些例行任務分布在不同的時間點去執行,

以避免系統出現瞬間繁忙的問題。

程式的執行會產生很多的日誌,而有時候不希望將這些例行程式所產生的日誌資訊都輸出到控制台上。

這時可以利用程式的輸出重定向到/dev/null中或者重定向到指定的檔案中。

/dev/null是一種特殊的字元裝置檔案。

它就像是乙個黑洞,使用者可以將任何不需要的資料丟進去。

# ls -l /dev/null

crw-r--r--    1 root     root       1,   3 oct 21  2013 /dev/null

## stat /dev/null

file: "/dev/null"

size: 0               blocks: 0          io block: 4096   character special file

device: fe00h/65024d    inode: 770         links: 1     device type: 1,3

access: (0644/crw-r--r--)  uid: (    0/    root)   gid: (    0/    root)

access: 2013-10-21 03:15:45.000000000

modify: 2013-10-21 03:15:45.000000000

change: 2013-10-21 03:15:45.000000000 #

比如使用make程式編譯時,不希望將日誌輸出到終端上,可以使用如下的命令:

# make 2>&1 | tee log.txt > /dev/null

詳細可參考:

linux cron學習體系

linux有個服務,叫cron,提供例行性作業排程。crontab是乙個命令,用於設定週期性被執行的作業。該詞源於希臘語 chronos 原意是時間,而crond正是它的守護程序。linux系統原本就有非常多的例行性工作,因此這個服務預設是啟動的。可通過service crond status,來瞧...

Linux cron定時命令的使用

crontab檔案中包含了用於cron守候程序執行的一條或者多條指令,在每條指令中均會指明在指定的日期 指定的時間執行某個特定的命令。每個使用者均擁有自己的crontab表。使用者可以通過下述命令來編輯相應的crontab檔案 1 crontab u 用於設定某個使用者的cron服務,一般root使...

Linux cron任務排程

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