2016年3月8日 星期二

【Linux】Linux command - crontab

crontab 是一個很常用, 很容易理解而且很實用的指令, 大部份 crontab 都是用在伺服器上, 例如想定時給資料庫弄個備份, 就會使用到 crontab 了!
簡單來說, crontab 就是工作排程, 讓你定好在什麼時間做什麼事情~
當設定好 crontab 後, 他就會永遠在你設定的時間上執行指令嚕~

安全性:
首先要設定哪些使用者帳號可以使用 crontab 指令
/etc/cron.allow 設定在這檔案裡的使用者帳號才能使用 crontab
/etc/cron.deny 設定在這檔案的使用者帳號不能使用 crontab 
(一列只可以填寫一個使用者帳號啊) 
 格式:
代表意義 分鐘 小時 日期 月份 指令
數字範圍 0-59 0-23 1-31 1-12 0-7 就是指令咧
 過程:
使用 crontab -e 指令後, 會打開 nano 或 vim 的
在裡面一列代表一個工作, 所以記得每次都開新一列喔~
舉個例子來說會比較容易明白~ 假設現在有個用家叫 Bob, 他想每天的下午 3 點和 9 點都寄一封 email 給 Mary, 很簡單的, Bob 輸入 crontab -e 指令後, 在裡面開新一列, 輸入 0 3,9 * * * mail Mary -s "This is a subject"
不同的符號有不同的意思喔

  • " , " = and, 與的意思
  • " - " = range, 一個範圍的意思, 例如每天的 8 點至 12 點 20 分進行一項工作
20 8-12 * * * command

  • " * " = all, 全部的意思
  • " */n " = n 是數字, 代表每隔 n 單位做一次, 例如每 5 分鐘做一項工作
*/5 * * * * command
 
當用家設定完 crontab 後, 工作就會放到 /var/spool/cron 裡面, 以帳號做尾, 也就是以上面 Bob 的例子來說, 工作會紀錄到 /var/spool/cron/bob 裡面 


 
 

沒有留言:

張貼留言