at 僅執行一次的工作排程。
- at 的使用限制如下:
- 先在 /etc/at.allow 檔案中尋找可以使用 at 指令的使用者。
- 若無 /etc/at.allow 檔案,則尋找 /etc/at.deny 檔案不能使用 at 指令的使用者。
- 若上述兩檔案皆不存在,則只有 root 可以使用 at 指令。
- 預設只有空白的 /etc/at.deny 檔,即所有人皆可使用 at 指令。
[root@localhost csie]# cat /etc/at.allow
cat: /etc/at.allow: No such file or directory
[root@localhost csie]# cat /etc/at.deny
[root@localhost csie]#
- at:僅執行一次的工作排程。
[root@linux ~]# at [-m] TIME
參數:
-m :當 at 的工作完成後,以 email 的方式通知使用者該工作已完成。
TIME:時間格式,定義『什麼時候要進行 at 這項工作』的時間,格式有:
HH:MM ex> 04:00
在今日的 HH:MM 時刻進行,若該時刻已超過,則明天的 HH:MM 進行此工作。
HH:MM YYYY-MM-DD ex> 04:00 2005-12-03
強制規定在某年某月的某一天的特殊時刻進行該工作。
HH:MM[am|pm] [Month] [Date] ex> 04pm December 3
強制在某年某月某日的某時刻進行。
HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex> now + 5 minutes ex> 04pm + 3 days
某個時間點『再加幾個時間後』才進行。
- 下達工作排程
[dywang@dywOffice ~]$ at 17:00 063007
at> echo Hello!
at> <EOT> %*<==輸入[Ctrl]+d,出現結束字樣<EOT>*)
job 1 at 2007-06-30 17:00
- 查看目前的工作排程
[dywang@dywOffice ~]$ atq
1 2007-06-30 17:00 a dywang
- 刪除工作排程
[dywang@dywOffice ~]$ atrm 1
[dywang@dywOffice ~]$ atq
[dywang@dywOffice ~]$
練習題
- 請說明工作排程指令 at 之限制使用者原理。
Sol.
先找尋 /etc/at.allow,寫在此檔案的使用者才能使用;若 /etc/at.allow 不存在,就尋找 /etc/at.deny ,寫在 at.deny 的使用者則不能使用;若兩個檔案都不存在,只有 root 可以使用 at 指令。
- 若 csie 可以使用 at 指令,csie 如何在 2008/02/01 15:00 產生一個空的檔案 /home/csie/attestfile?
Sol.
1. 下指令 at 1500 020108(或2008-02-01); 2. 輸入 touch /home/csie/attestfile; 3. 按 [Ctrl]+d 結束輸入。
- 若 csie 可以使用 at 指令,csie 如何在今天晚上 10:00 產生一個空的檔案 /home/csie/attestfile?
Sol.
1. 下指令 at 10pm; 2. 輸入 touch /home/csie/attestfile; 3. 按 [Ctrl]+d 結束輸入。
- 若 csie 可以使用 at 指令,csie 如何在今天 22:00 產生一個空的檔案 /home/csie/attestfile?
Sol.
1. 下指令 at 22:00; 2. 輸入 touch /home/csie/attestfile; 3. 按 [Ctrl]+d 結束輸入。
- 若 csie 可以使用 at 指令,csie 如何在五天後的早上 08:00 產生一個空的檔案 /home/csie/attestfile?
Sol.
1. 下指令 at 8am+5days; 2. 輸入 touch /home/csie/attestfile; 3. 按 [Ctrl]+d 結束輸入。
- 若 csie 可以使用 at 指令,csie 如何在二星期後的下午 1:00 產生一個空的檔案 /home/csie/attestfile?
Sol.
1. 下指令 at 1pm+2weeks; 2. 輸入 touch /home/csie/attestfile; 3. 按 [Ctrl]+d 結束輸入。
- 若 csie 可以使用 at 指令,csie 如何在18小時後的下午 5:00 產生一個空的檔案 /home/csie/attestfile?
Sol.
1. 下指令 at 5pm+18hours; 2. 輸入 touch /home/csie/attestfile; 3. 按 [Ctrl]+d 結束輸入。
- 如何查看目前 at 的工作排程?
Sol.
atq
- 若目前 at 的工作排程有五項,如何刪除第三項工作排程?
Sol.
atrm 3