Crontab設置定時任務

Crontab文件格式

  • 文件格式:
minute    hour    day    month    weekday    username     command
  • 格式解析
字段 描述
minute 分,值爲0-59
hour 小時,值爲1-23
day 天,值爲1-31
month 月,值爲1-12
weekday 星期,值爲0-6(0表明星期天,1表明星期一,以此類推)
username 要執行程序的用戶,通常設置爲root
command 要執行的程序路徑(設置爲絕對路徑)例如:/home/www.osyunwei.com/osyunwei.sh
  • 解析圖片
    linux

  • 符號定義:
    星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。
    逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」
    中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」
    正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。shell


crond簡介

  • 系統腳本(腳本位於/etc/crontab)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/
# run-parts
51 * * * * root run-parts /etc/cron.hourly
24 7 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
  • 解釋:
  • 第一行SHELL變量指定了系統要使用哪一個shell,這裏是bash。
  • 第二行PATH變量指定了系統執行命令的路徑。
  • 第三行MAILTO變量指定了crond的任務執行信息將經過電子郵件發送給root用戶,若是MAILTO變量的值爲空,則表示不發送任務執行信息給用戶。
  • 第四行的HOME變量指定了在執行命令或者腳本時使用的主目錄。bash

  • 用戶任務調度:
  • 用戶按期要執行的工做,好比用戶數據備份、定時郵件提醒等。
  • 用戶可使用 crontab 工具來定製本身的計劃任務。
  • 全部用戶定義的crontab文件都被保存在 /var/spool/cron目錄中。
  • 其文件名與用戶名一致。工具


檢查及安裝

  • 檢查cron服務
# 檢查crontab工具是否安裝
crontab -l
# 檢查cond服務是否啓動
/sbin/service crond status
  • 安裝cron
yum install vixie-cron
yum install crontabs

爲當前用戶建立cron服務

  • 鍵入crontab -e編輯crontab服務文件url

  • 查看該用戶下的crontab服務是否建立成功, 用 crontab -l 命令操作系統

  • 啓動crontab服務:
    通常啓動服務用 /sbin/service crond start 如果根用戶的cron服務能夠用 sudo service crond start, 這裏仍是要注意 下 不一樣版本linux系統啓動的服務的命令也不一樣 ,像個人虛擬機裏只需用 sudo service cron restart 便可,如果在根用下直接鍵入service cron start就能啓動服務.net

  • 查看服務是否運行:ps -ax | grep cronrest

  • crontab命令code

cron服務提供crontab命令來設定cron服務的,如下是這個命令的一些參數與說明
crontab -u //設定某個用戶的cron服務,通常root用戶在執行這個命令的時候須要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除某個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
好比說root查看本身的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容必定要符合下面的格式:/1 * * * ls >> /tmp/ls.txt
crond 是linux用來按期執行程序的命令。當安裝完成操做系統以後,默認便會啓動此任務調度命令。crond命令每分鍾會按期檢查是否有要執行的工做,若是有要執行的工做便會自動執行該工做。
相關文章
相關標籤/搜索