at 命令構建器
產生 at 指令,用於安排一次性指令或腳本在未來的時間執行
開始使用 at
## 這是什麼?
`at`用於安排在未來某個時間執行**一次性**的指令或腳本。當您需要某件事只發生一次時(例如「2小時後備份此檔案」),它就是適合的工具,這與會按排程重複執行的`cron`不同。必須先讓`atd`守護程式正在運作。
## 使用方式
1. **設定時間**:輸入類似`now + 5 minutes`、`10:30`、`teatime`(下午4點)或`tomorrow 9am`的時間表示法。 2. **選擇性載入腳本**:可使用`-f script.sh`來執行檔案,而非以互動方式輸入指令。 3. **管理任務**:`-l`可列出排隊中的任務,`-d N`用於刪除第N個任務,`-c N`則可列印第N個任務的完整指令。 4. **複製並執行**:輸入`at <time>`之後,您會進入互動式指令提示符,於此處輸入指令(按Ctrl-D即可結束),除非使用了`-f`。
時間格式與選項
### 時間表示法 `at` 可接受多種常見的時間表達方式:`now + 5 minutes`、`now + 1 hour`、`10:30`、`10:30 AM`、`midnight`、`noon`、`teatime`(下午 4 點)、`tomorrow`、`tomorrow 9am`、`MM/DD/YYYY` 或 `next Friday`。
### `-f FILE` 執行指令碼 可將檔案內容作為任務提交,不必在指令列中手動輸入:`at -f backup.sh now + 1 hour`。
### `-q QUEUE` 選擇佇列 使用字母 a–z 來選擇佇列;a 為預設的 at-jobs 佇列,b 為批次處理(load-gated)佇列。每個佇列可在 `/etc/at.deny`/`at.allow` 中設定自己的負載限制。
### `-l` / `-d N` / `-c N` 列出、刪除、顯示內容 `-l` 會列出待處理的任務;`-d 5` 會刪除第 5 個任務;`-c 5` 會列印第 5 個任務將要執行的環境與指令。
### `-m` 任務完成後寄送郵件 即使沒有輸出結果,任務完成時也會向使用者寄送郵件。
### `-v` 詳細模式 在讀取任務內容之前,會先列印出確定的排程時間。
▶at 與 cron — 有什麼差異?
▶at 命令傳回「Cannot find atd」——是什麼問題?
▶我要如何排程在 30 分鐘後執行一段指令碼?
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。