2014-02-14 32 views
29

我無法理解此問題的答案:「croncrontab之間有什麼區別。」他們都是一個調度程序,一個調度程序執行文件一次,另一個執行定期間隔的文件,或者cron調度作業,crontab將它們存儲在表或文件中執行?Cron和Crontab之間的區別?

Wiki pageCron提到:

的Cron由一個crontab(cron表)驅動文件,指定殼配置文件 命令,以便對一個給定的時間表定期運行。

wiki.dreamhostcrontab mentiones:

crontab命令,在Unix和類Unix系統中發現,是用於調度命令來週期性地執行 。它從標準輸入中讀取 系列命令並將它們收集到文件 中,該文件被稱爲「crontab」,稍後將其讀取並且其指令執行爲 。

具體來說,當我計劃作業重複:

1 0 * * * printf > /var/log/apache/error_log 

從維基報價),或者只有一次

at -f myScripts/call_show_fn.sh 1:55 2014-10-14 

執行作業我做一個cron功能在crontab OR中是否是第一個是crontab和第二個是cron函數?

回答

26

cron是運行預定操作的服務的通用名稱。 crond是在後臺運行並讀取crontab文件的守護進程的名稱。甲的crontab是包含作業格式

minute hour day-of-month month day-of-week command 

crontabs中通常由系統存儲在/var/spool/<username>/crontab一個文件。這些文件不能直接編輯。您可以使用crontab命令來調用文本編輯器(您爲EDITOR env變量定義的內容)來修改crontab文件。

cron有多種實施方式。通常會有每個用戶的crontab文件(用命令crontab -e訪問)以及系統的crontab中/etc/cron.daily/etc/cron.hourly

在你的第一個例子中,你通過一個crontab調度作業。在第二個示例中,您使用at命令排列作業以供稍後執行。

+0

so..in my example commands ....都是'cron'存儲在'crontab'文件中??? – NoobEditor

+0

你的第一個例子將在一個crontab文件中。你可以通過** crontab -e **添加它。第二個示例使用** at **命令,並且不在crontab中。 –

+0

所以第二個例子既不是'cron'也不是'crontab',因爲**在** ?? – NoobEditor