- at 指令用於在某一個時間時,執行某一個工作(一次性的工作任務)
- 選項
- f:指定一個文件作為任務腳本
- m:完成任務之後給用戶發送一個MAIL
- l:列出計劃任務的列表
- d:刪除指定的計劃任務
- 指令
- sample 1
- at 23:00
- cp /etc/passwd /root
- Ctrl+D (離開)
- sample 2
- at 10:10am tomorrow
- cp -R /file/backup /file/nfs/ &>/dev/null
- CTRL+D(離開)
- sample 3
- at now +5 hour -f /root/exam.sh
- sample 4
- at now +5 hour -f ~/exam.sh
- 指令的時間格式
- at 7pm Oct 16
- at now+2 hour
- at 10:10am tomorrow
- ...
- 或是
- 指令(指定一個file)
- at -f schedule.task 23:00
- at指令與crontab指令還有一個很大的不同點,即at指令支援使用現有的環境變量,而cron是不支援的。
- at指令完成後也會像cron一樣在/var/spool/at中看見執行腳本
- 如果要禁止用戶使用at指令的話,可在在文件/etc/at.deny中添加該用戶的帳號即可。
-------------------------------------------------------------------------------------------------------
atq 指令(at -l),用來查詢待執行的任務
-------------------------------------------------------------------------------------------------------
atrm 指令,用來刪除待執行的任務
Step 1 . 先使用 atq 指令查詢所又依務列表;第一欄任就是任務的id號
Step 2 . atrm 1
-------------------------------------------------------------------------------------------------------
batch 指令功能於 at 相同,但是 batch 可以設置在系統 busy 時執行。
Step 1 . batch 3:20
ctar -czvf /root/abc.tar.gz /etc
Ctrl+D (離開)
Or
Step 1 . batch -f schedule.task 3:00
Step 2 . 查詢 batch 的執行任務,也是使用 atq 指令即可。
-------------------------------------------------------------------------------------------------------
crontab 指令,設定週期性的執行任務;讓使用者在特定的時間(包括月、日、時、分、星期)執行特定的指令,你可以在/etc/cron.allow與/etc/cron.deny這2個檔案去限制那些人可或那些人不能執行crontab,在預設是不會有這2個檔案的…但記得哦…一次只有一個會生效哦。
Step 1 . 你可以在使 vim 編輯 /etc/crontab 檔案
17 * * * * root cd / && run-parts --report /etc/cron.hourly
12 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --re port /etc/cron.daily )
13 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --re port /etc/cron.weekly )
14 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --re port /etc/cron.monthly )
說明欄位
分 時 日 月 週,這一個文件的內容可以參考一下鳥哥網站…因為實在是太多啦
Step 2 . crontab -l 用來列出所有個人的排程
- 常用的選項
- l:列出所有個人的排程
- e:編輯個人的排程
- u:指定使用者
- 欄位說明
- 分 時 日 月 星期 指令
- 範例
- 5 2 * * 2,4,6 /root/root.sh
- 每2,4,6週的早上2點5分執行 /root/root.sh
- 10 8 12 * * /root/root.sh
- 每月的12日早上8點10分執行/root/root.sh
----編輯記錄
- 2013/4/23:
- 補充:
- at指令相關之選項以及sample
- at指令的時間格式
- at指令的權限設定