2011-06-15 35 views
4

關於Crontab的一個簡單問題,我保存crontab文件的位置是否重要? (使用crontab -e創建依賴於時間的作業)還是可以從任何目錄讀取?保存Crontab文件

我問,因爲它似乎我的crontab文件被刪除,因爲當我使用crontab -l它沒有返回任何東西。不過,我想這是因爲我救它作爲一個臨時文件:Creating more permanent crontab files

+0

爲什麼以及如何將它保存爲臨時文件?你應該調用'crontab -e',不用擔心它保存在哪裏 - 我猜它通常保存在/ var/spool/cron/crontabs下面 - 至少在ubuntut上是這樣。 – 2011-06-15 19:54:00

+0

通過編輯現有的crontab,鍵入crontab -e並進行修改。比單擊退出鍵,並鍵入** _:wq _ **,然後按回車鍵。 – Phoenix 2015-02-12 12:01:10

回答

6

通常情況下,您使用crontab來創建該文件,並將其存儲在您的機器的正確位置。

$ crontab < $HOME/etc/crontab 

然後您使用crontab -l來列出它。

$ crontab -l 
# @(#)$Id: crontab,v 4.2 2007/09/17 02:41:00 jleffler Exp $ 
# Crontab file for Home Directory for Jonathan Leffler (JL) 
#----------------------------------------------------------------------------- 
#Min  Hour Day  Month Weekday Command 
#----------------------------------------------------------------------------- 
0  *  *  *  *  /usr/bin/ksh /work4/jleffler/bin/Cron/hourly 
1  1  *  *  *  /usr/bin/ksh /work4/jleffler/bin/Cron/daily 
23  1  *  *  1-5  /usr/bin/ksh /work4/jleffler/bin/Cron/weekday 
2  3  *  *  0  /usr/bin/ksh /work4/jleffler/bin/Cron/weekly 
21  3  1  *  *  /usr/bin/ksh /work4/jleffler/bin/Cron/monthly 
$ 

當我把我原來是無形的(但它是在$HOME/etc,因爲它發生源控制之下)。系統在需要它的地方有自己的文件副本。

如果您嘗試手動放置文件,您將會被咬住。它可能會起作用,但是再一次,它可能不會(將來可能會改變)。我不會玩使用除kosher命令之外存儲供crontab使用的crontab文件的冒險遊戲。

3

是,cron的文件必須是在/ var /線軸/ cron的(或一些類似的目錄,這取決於系統。)請參閱man 8 cron

+0

但最有可能的是,你應該把它們放在'/ etc'的某處。 – 2011-06-15 19:49:33

+1

@larsmans:/etc/cron.{daily,hourly,weekly,monthly}/*文件不是標準的cron文件。 /etc/cron.d/*文件是標準的cron文件,但是爲包管理器而非人爲設計。人類應該使用cron API,它將把文件放在哪裏 - 它們應該用於你的特定系統。 – 2011-06-15 19:52:46

+0

@Seth:true,但如果'/ etc/cron。{daily,hourly,weekly,monthly}'可用,則應優先直接寫入'/ var/spool/cron'。 – 2011-06-15 19:54:31

1

如果您對大多數系統使用cron api(crontab -ecrontab filename),則無論您是否註銷,您的cron作業都將永久保存在適當的位置。

這種情況不會發生的唯一方法是如果您在管理上阻止使用cron(並不罕見)。

請記住您要創建的文件格式爲man 5 crontab格式。它不是你的shell腳本。