at 用於安排 單次 於未來特定時間執行的任務,需 atd 服務運行。
systemctl restart atd systemctl enable atd # 開機自動啟動
/etc/at.allow 存在:僅名單內使用者可用 at。/etc/at.deny:名單內使用者不可用,其餘可用。at [-mldv] TIME at -c 作業編號 # 查看作業內容
TIME 格式範例:
HH:MM (今日/明日)HH:MM YYYY-MM-DDHH:MM[am|pm] Month DDnow + 5 minutes / 04pm + 3 daysat now + 5 minutes at> /bin/mail root -s "testing at job" < /root/.bashrc at> <Ctrl+D> job 4 at 2024-03-14 15:38
at -c 4 # 顯示環境變數、執行目錄、實際指令
at 23:00 2024-03-17 at> /bin/sync at> /bin/sync at> /sbin/shutdown -h now at> <Ctrl+D> job 5 at 2024-03-17 23:00
atq # 列出佇列作業 (同 at -l) atrm 作業編號 # 移除作業 (同 at -d)
batch 同 at,但僅在系統負載 < 0.8 時執行 (負載 = 等待 CPU 的任務數,非 CPU 使用率)。管理方式同 atq/atrm。
優勢:提交 at 任務後即可離線,任務由 atd 背景執行,不受 SSH 斷線影響,適合長時間編譯、備份等作業。