iT邦幫忙

0

請問Linux裡面的/etc/cron.daily是每天什麼時候執行?

  • 分享至 

  • xImage

請問一下從那裡可以看到或設定每天執行的時間?是用那一個身份執行?

以前都是自已設corntab,現在只要把寫好的script丟到這幾個目錄就可以了,真方便 :)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
18
pippeng
iT邦新手 4 級 ‧ 2008-06-09 15:32:17
最佳解答

上面2個完全錯誤
/etc/cron.hourly 為每小時的01分時執行
/etc/cron.daily 為每天4點02分執行
/etc/cron.weekly 為每星期日4點22分執行
/etc/cron.monthly為每月1號的4點42分執行

詳細設定你可以看一下系統crontab

cat /etc/crontab

這是系統在使用的crontab專供OS作業或是其他應用程式使用的

一般個人(包含root)的crontab請使用

crontab -e 來編輯修改

個人的crontab位置為 /var/spool/cron

18
richardhsieh
iT邦研究生 4 級 ‧ 2008-06-05 17:15:26

/ect/cron.daily 並不會自動執行
他的用意是你把每天要做的工作,都放在這個裡面
再用crontab 定義每天執行的時間

26
w111927
iT邦好手 1 級 ‧ 2008-06-05 19:40:01

任何使用者只要不被列入 /etc/cron.deny 當中,那麼他就可以直接下達『 crontab -e 』去編輯自己的例行性命令了!整個過程就如同上面提到的,會進入 vi 的編輯畫面, 然後以一個工作一行來編輯,編輯完畢之後,輸入『 :wq 』儲存後離開 vi 就可以了! 而每項工作的格式都是『 五個時間參數 實際動作指令 』,那麼那五個時間參數代表什麼呢?
代表意義 分鐘 小時 日期 月份 週
數字範圍 0-59 0-23 1-31 1-12 0-7
比較有趣的是那個『週』喔!當週為 0 或 7 時,都代表『星期天』的意思!另外, 還有一些輔助的字符,大概有底下這些:
特殊字符 代表意義
* 代表任何時刻都接受的意思!舉例來說,上表的範例一,那個日、月、週都是 * , 就代表著『不論何月、何日的禮拜幾的 12:00 都執行後續指令』的意思!
, 代表分隔時段的意思。舉例來說,如果要下達的工作是 3:00 與 6:00 時,就會是: 0 3,6 * * * command
還是有五欄,不過第二欄是 3,6 ,代表 3 與 6 都適用!

  • 代表一段時間範圍內,舉例來說, 8 點到 12 點之間的每小時的 20 分都進行一項工作:
    20 8-12 * * * command
    仔細看到第二欄變成 8-12 喔!代表 8,9,10,11,12 都適用的意思!
    /n 那個 n 代表數字,亦即是『每隔 n 單位間隔』的意思,例如每五分鐘進行一次,則:
    */5 * * * * command
    很簡單吧!用 * 與 /5 來搭配,也可以寫成 0-59/5 ,相同意思!
    我們就來搭配幾個例子練習看看吧!

例題:假若你的女朋友生日是 5 月 2 日,你想要在 5 月 1 日的 23:59 發一封信給他,這封信的內容已經寫在 /home/dmtsai/lover.txt 內了,該如何進行?
答: 直接下達 crontab -e 之後,編輯成為:
59 23 1 5 * mail kiki < /home/dmtsai/lover.txt 那樣的話,每年 kiki 都會收到你的這封信喔!(當然囉,信的內容就要每年變一變啦!)

例題:假如每五分鐘需要執行 /home/dmtsai/test.sh 一次,又該如何?
答: 同樣使用 crontab -e 進入編輯:
*/5 * * * * /home/dmtsai/test.sh
那個 crontab 每個人都只有一個檔案存在,就是在 /var/spool/cron 裡面啊! 還有建議您:『指令下達時,最好使用絕對路徑,這樣比較不會找不到執行檔喔!』
例題:假如你每星期六都與朋友有約,那麼想要每個星期五下午 4:30 告訴你朋友星期六的約會不要忘記,則:
答:
還是使用 crontab -e 啊!
30 16 * * 5 mail friend@his.server.name < /home/dmtsai/friend.txt

我要發表回答

立即登入回答