Crontab詳解

定時任務顧名思義就是在某一時間點自動進行任務操做。
在作Pgsql的備份利用crontab進行定時操做, 使用起來比較方便。故分享
具體的定時編輯命令:crontab -e
首先從crontab的文件分析使用策略,root用戶下,在/etc下有一個文件crontab,其內容以下
[root@jack ~]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
該 文件下的前四行內容爲crontab的環境變量,SHELL變量的值指定系統使用的SHELL環境(該樣例爲bash shell),PATH變量定義了執行命令的路徑。Cron的輸出以電子郵件的形式發給MAILTO變量定義的用戶名。若是MAILTO變量定義爲空字符 串(MAILTO=""),電子郵件不會被髮送。執行命令或腳本時HOME變量可用來設置基目錄。
注:以上系統會默承認以不用修改任何!
在root用戶下,能夠直接vim /etc/crontab文件進行腳本的添加定時任務腳本,而在其餘普通用戶下能夠經過crontab –e 進行腳本的添加
編輯完成,能夠用crontab –l進行查看腳本信息
定時命令腳本解析:
從表格中能夠看出腳本格式以下:
minute hour day month week user-name command
minute---分鐘 (0-59)
  hour------小時(0-23)
  day--------日期(1-31)
  month---月份(1-12)
  week----星期(0-6) //0表明星期天
  除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*表明全部的取值範圍內的數字,"/"表明每的意思,"*/5"表示每5個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。如下舉幾個例子說明問題:
以具體例子進行分析定時腳本:
pgslq.sh爲須要執行的腳本,內容爲須要進行的備份操做或者其餘任務腳本
1 * * * * /home/postgres/pgsql.sh
表示的是每小時的第一分鐘執行該腳本
2 3 * * * /home/postgres/pgsql.sh
表示天天的3點零2分執行該腳本
1 1 * * 0 / home/postgres/pgsql.sh
表示的是每週的1點1分進行腳本的執行
1 1 1 * * / home/postgres/pgsql.sh
表示的是每個月的1點1分進行腳本的執行
比較容易犯的錯誤是一般會把每小時的第一分鐘按作每分鐘執行一次,這點要注意二者的區別:
1 * * * * /home/postgres/pgsql.sh
表示的是每小時的第一分鐘執行該腳本
*/1 * * * * /home/postgres/pgsql.sh
表示的是每一分鐘執行該腳本
所以這裏要記住」/」這個符號帶來的區別
「-」的用法:
0 10 * * 1-3 / home/postgres/pgsql.sh
表示的是每一個週一到週三的早上10點執行該腳本
0 10 * * 一、三、5 / home/postgres/pgsql.sh
表示的是每週的周1、周3、週五的早上10點執行該腳本
這些大體就是定時任務的幾乎常見的可能性定時腳本。
在表格中看到user-name這個表示的用戶該腳本所在的用戶,通常狀況下在作項目不可能會有root用戶進行編寫,因此咱們可能直接在普通用戶下進行定時腳本的編寫,直接執行crontab –e,編寫定時任務。
每 次編輯完某個用戶的cron設置後,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這個文件 中,這個文件是不能夠直接編輯的,只能夠用crontab -e 來編輯。cron啓動後每過一分鐘讀一次

sql

---------------------shell

本文來自 不會飛的大象 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/martingpf/article/details/82593336?utm_source=copy vim

相關文章
相關標籤/搜索