# 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個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。如下舉幾個例子說明問題:nginx
crontab -u howhy -eshell
* 3-6 * * * /bin/bash /opt/local/nginx/sbin/nginx -s reload 這個錯誤的表示零晨3點到6點每分鐘都重啓nginxvim
要表示零晨3點到6點每整點執行重啓nginx 最小單位即分就爲00bash
要求:測試
1.要有註釋spa
2.要先進行測試server
3.有標準輸出時不要有>/dev/null 2>&1若沒有則能夠加crontab
4.通常要用絕對路徑ip
5.目錄文件要存在it
每小時打包,包的文件名要精確到小時 tar zcf /opt/service_$(date +%F-%H).tar.gz /etc/services 要不會覆蓋原來打包的文件 天天備份能夠精確到到tar zcf /opt/service_$(date +%F).tar.gz /etc/services
crontab -e
00 */2 * * * /bin/sh /server/scripts/tar.sh >/dev/null 2>&1 每兩個小時執行tar.sh 注意分
00 */2 * * * tar zcf /opt/service_$(date +\%F-\%H).tar.gz /etc/services
若腳本中引用了環境變量則須要在該腳本中從新定義引用的環境變量