Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 排程任務 at 指令詳細教學:單次排程執行

編輯:Linux 教學
 

at 用於安排 單次 於未來特定時間執行的任務,需 atd 服務運行。

啟用 atd 服務

systemctl restart atd
systemctl enable atd   # 開機自動啟動

存取控制

  • /etc/at.allow 存在:僅名單內使用者可用 at。
  • 否則檢查 /etc/at.deny:名單內使用者不可用,其餘可用。
  • 兩者皆不存在:僅 root 可用。

基本語法

at [-mldv] TIME
at -c 作業編號    # 查看作業內容

TIME 格式範例:

  • HH:MM (今日/明日)
  • HH:MM YYYY-MM-DD
  • HH:MM[am|pm] Month DD
  • now + 5 minutes / 04pm + 3 days

實作範例

範例 1:5 分鐘後寄送 .bashrx 給 root

at now + 5 minutes
at> /bin/mail root -s "testing at job" < /root/.bashrc
at> <Ctrl+D>
job 4 at 2024-03-14 15:38

範例 2:查看作業 4 內容

at -c 4
# 顯示環境變數、執行目錄、實際指令

範例 3:指定日期關機

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 指令

batch 同 at,但僅在系統負載 < 0.8 時執行 (負載 = 等待 CPU 的任務數,非 CPU 使用率)。管理方式同 atq/atrm。

優勢:提交 at 任務後即可離線,任務由 atd 背景執行,不受 SSH 斷線影響,適合長時間編譯、備份等作業。

Copyright © Windows教程網 All Rights Reserved