在Linux中,任務計劃格式中,前面5個數字分表表示什麼含義?

黄嘉波發表於2024-06-28

在Linux中,使用cron來進行任務計劃時,任務的排程表示式是由六個欄位組成的,其中前五個欄位用來指定時間頻率,最後一個欄位用於指定要執行的命令。下面詳細解釋這五個時間欄位的含義:

  1. 分鐘 (Minutes):範圍從0到59。這代表每小時的哪一分鐘。例如,0表示整點,15表示每小時的第15分鐘。

  2. 小時 (Hours):範圍從0到23。這代表一天中的哪一小時。0等同於午夜,12表示中午,23則是一天的最後一小時。

  3. 日 (Day of Month):範圍從1到31。這代表一個月中的哪一天。需要注意的是,不是每個月都有31天,因此某些值可能在某些月份無效。

  4. 月份 (Month):範圍從1到12。這代表一年中的哪一月。1表示一月,12表示十二月。

  5. 星期幾 (Day of Week):範圍從0到6。07都表示星期日,1表示星期一,以此類推直到6表示星期六。在某些情況下,星期幾也可以使用縮寫來表示,如SUNMONTUE等。

第六個欄位是命令或指令碼的路徑,當滿足前面五個時間條件時,cron守護程序就會執行這個命令或指令碼。

示例說明

例如,下面是一個典型的cron任務表示式:

* * * * * command

這表示每分鐘執行一次command

再例如:

0 0 * * * command

這表示每天午夜(0點)執行一次command

另一個例子:

30 4 1,15 * 1-5 /usr/bin/command arg1 arg2

這表示在每個月的1日和15日的04:30,在週一至週五執行/usr/bin/command,並傳入arg1arg2作為引數。

cron表示式中,除了具體的數字之外,還可以使用一些特殊符號來表示更復雜的模式:

  • * 表示“任何值”。
  • , 可以用來列舉多個值,如1,15表示1或15。
  • - 可以用來表示一個範圍,如1-5表示1到5之間的任何值。
  • / 可以用來指定增量,如*/5表示每隔5個單位(如每隔5分鐘)。

綜上所述,瞭解這些基本的cron表示式格式對於有效地管理Linux系統上的定時任務至關重要。

相關文章