Timer 實測

  1. 修改 usrfind.sh 導向的檔名含導向時間的"分"及"秒",以利測試。
    [root@kvm8 ~]# vi /usr/local/bin/usrfind.sh
    [root@kvm8 ~]# cat /usr/local/bin/usrfind.sh
    #!/bin/bash
    find /usr/ -size +10M > ~/usrfind.$(date +%M-%S).txt
    
  2. 編輯 usrfind.timer 設定每 2 分鐘執行一次,如果沒有 [Install] 章節,則為 static 單元,無法使用 systemctl enable 設定開機啟動,以下 [Install] 章節使用 WantedBy=timers.target 在開機時 enable 這個單元。
    [root@kvm8 ~]# vi /usr/lib/systemd/system/usrfind.timer
    [root@kvm8 ~]# cat /usr/lib/systemd/system/usrfind.timer
    [Unit]
    Description=Run the script every 2 minute
    
    [Timer]
    OnCalendar=*:0/2
    
    [Install]
    WantedBy=timers.target
    
  3. 設定開機啟動 usrfind.timer 計時器,且現在啟動。
    [root@kvm11 ~]# systemctl enable --now usrfind.timer
    
  4. 查看 usrfind.timer 計時器狀態 active。
    ● usrfind.timer - Run the script every 2 minute
         Loaded: loaded (/usr/lib/systemd/system/usrfind.timer; enabled; preset: disabled)
         Active: active (waiting) since Wed 2025-12-03 15:06:36 CST; 6s ago
     Invocation: b0dba8e66b184072bdd7c2f4ef8becbc
        Trigger: Wed 2025-12-03 15:08:00 CST; 1min 16s left
       Triggers: ● usrfind.service
    
    Dec 03 15:06:36 kvm11.deyu.wang systemd[1]: Stopped usrfind.timer - Run the script every 2 minute.
    Dec 03 15:06:36 kvm11.deyu.wang systemd[1]: Stopping usrfind.timer - Run the script every 2 minute...
    Dec 03 15:06:36 kvm11.deyu.wang systemd[1]: Started usrfind.timer - Run the script every 2 minute.
    
  5. 幾分鐘後查看 usrfind.sh 導向結果,2:58 及 13:00 各有一檔案,表示每 2 分鐘導向一次,符合計時器設定。
    [root@kvm8 ~]# ll ~/usrfind*
    -rw-r--r--. 1 root root 500 Dec  3 15:06 /root/usrfind06-34.txt
    -rw-r--r--. 1 root root 500 Dec  3 15:08 /root/usrfind08-09.txt