Linux系統使用at/crontab指令解決方法

         Linux系統中at命令可以定時執行,而crontab命令則是循環執行的,所以這兩個命令都可以控制程序運行的時間。下面就來介紹一下Linux系統如何使用at/crontab指令?

 

Linux系統使用at/crontab指令解決方法

 

  要執行 at 指令,隻要 at 時間,按下 enter ,再輸入要執行的命令,結束時按下 ctrl+d 就可以排定一個 at 的排程。

  at 的時間格式可以用 1 個數字(指定小時)、2 個數字(指定小時)、 4 個數字(指定時和分),時和分中間也可以用 : 分隔,如 03:45,另外可以在數字之後加上 am, pm 指定上下午,否則 at 會把時間視為 24小時制, 如 05:25pm。在 POSIX 中,有另外指幾個特別的時間:

  時間-time

  時間的數字範圍為 [00,59]。

  midnight = 12:00 am (00:00)

  noon = 12:00 pm

  now = 指定執行 at 的時間

  日期-date

  年份所使用的數字是公元,一定是4 個數字。

  指定月份和星期時,所使用的 word 決定於 LC_TIME 環境變數中所列的”月份”和”星期”名稱或是其縮寫。

  日期要符合所指定的月份。

  today = 今天

  tomorrow = 明天

  增加量-increment

  可使用 minutes, hours, days, weeks, months, 或 years 等字,在使用時,以 + 號開頭。

  利用 at 指令所執行的命令,所使用的環境變數、工作目錄、檔案建立的 mask 等等變數,在真正執行排定的命令時,這些變數要和執行 at 指令時相同。

  at 執行權限控制檔案:

  /usr/lib/cron/at.allow

  /usr/lib/cron/at.deny

  范例:

  at 6pm

  at moon

  at today

  at 02:00am

  at 18:00

  at 18:00

  at 6pm today + 1 week 等同於 at 6pm today next week

  at 6pm Jan 2 , 2005

  at 6pm mon

  at now

  at 所要執行命令的時間過瞭的話,會等到下一次這個時間點出現的時候再執行,例如指定在今晚 6:00 執行,而現在是 7:00 的話,指令會在明天晚上 6:00 才執行。

  要刪除某個己排定的工作,使用 at -r at-job-id

  在 gentoo 下,預設是沒有 at 這個程式的,要先執行以下指令安裝才行:

  emerge -av at

  /etc/init.d/atd start

  而指令的 timespec 放在 /usr/share/doc/at-XX.XX/timespec.gz 說明檔中。

  以上就是Linux系統如何使用at/crontab指令的介紹瞭,本文更加側重介紹at指令,crontab的使用方法和at是類似的,想瞭解更多內容可以對GuideAH進行關註!

閱讀更多: