歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux系統下任務作業自動化執行工具

Linux系統下任務作業自動化執行工具

日期:2017/2/28 16:46:42   编辑:Linux教程

  紅帽企業 Linux 隨帶幾個自動化任務的工具:cron、at、和 batch。

  一、 cron

  cron 是一個可以用來根據時間、日期、月份、星期的組合來調度對重復任務的執行的守護進程。

  cron 假定系統持續運行。如果當某任務被調度時系統不在運行,該任務就不會被執行。

  要使用 cron 服務,你必須安裝了 vixie-cron RPM 軟件包,而且必須在運行 crond 服務。要判定該軟件包是否已安裝,使用 rpm -q vixie-cron 命令。要判定該服務是否在運行,使用 /sbin/service crond status 命令。

  1. 配置 cron 任務

  cron 的主配置文件是 /etc/crontab,它包括下面幾行:

  SHELL=/bin/bash

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  MAILTO=root

  HOME=/

  # run-parts

  01 * * * * root run-parts /etc/cron.hourly

  02 4 * * * root run-parts /etc/cron.daily

  22 4 * * 0 root run-parts /etc/cron.weekly

  42 4 1 * * root run-parts /etc/cron.monthly

  前四行是用來配置 cron 任務運行環境的變量。SHELL 變量的值告訴系統要使用哪個 shell 環境(在這個例子裡是 bash shell);PATH 變量定義用來執行命令的路徑。cron 任務的輸出被郵寄給 MAILTO 變量定義的用戶名。如果 MAILTO 變量被定義為空白字符串(MAILTO=""),電子郵件就不會被寄出。HOME 變量可以用來設置在執行命令或腳本時使用的主目錄。

  /etc/crontab 文件中的每一行都代表一項任務,它的格式是:

  minute hour day month dayofweek command

  minute — 分鐘,從 0 到 59 之間的任何整數

  hour — 小時,從 0 到 23 之間的任何整數

  day — 日期,從 1 到 31 之間的任何整數(如果指定了月份,必須是該月份的有效日期)

  month — 月份,從 1 到 12 之間的任何整數(或使用月份的英文簡寫如 jan、feb 等等)

  dayofweek — 星期,從 0 到 7 之間的任何整數,這裡的 0 或 7 代表星期日(或使用星期的英文簡寫如 sun、mon 等等)

  command — 要執行的命令(命令可以是 ls /proc >> /tmp/proc 之類的命令,也可以是執行你自行編寫的腳本的命令。)

  在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味著在滿足其它制約條件後每月都執行該命令。

  整數間的短線(-)指定一個整數范圍。譬如,1-4 意味著整數 1、2、3、4。

  用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標明這四個指定的整數。

  正斜線(/)可以用來指定間隔頻率。在范圍後加上 /<INTEGER> 意味著在范圍內可以跳過 integer。譬如,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份字段中表示每三個月運行一次任務。

Copyright © Linux教程網 All Rights Reserved