linux基礎之定時任務設置


1、定時任務

定時任務類型與生活中的鬧鍾,在linux系統中可以自動完成操作命令,或者定時備份系統信息數據。

2、定時任務的種類

1.系統默認自帶定時服務:crond(crontab)
2.一次性定時任務:atd
3.非7*24運行的服務器:anacron

3、系統定時文件

# 在文件中寫命令然后添加可執行權限
系統定時任務周期:每小時:/etc/cron.hourly
系統定時任務周期:每一天:/etc/cron.daily
系統定時任務周期:每一周:/etc/cron.weekly
系統定時任務周期:每個月:/etc/cron.monthly

4、系統定時任務的配置文件之一

[root@mysql03 ~]# vim /etc/crontab  # 編輯定時任務配置文件

  *  *  *  *  *  : crontab表達式,即時間周期的含義。
  # 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
  # *表示任意的時間(分、時、日、月、周)都執行
  # -表示一個時間范圍執行,比如第一顆*的位置寫5-7表示5-7點都執行
  # ,表示分隔時間段,比如最后一顆*為位置寫6,0,4表示周六、周日、周四都執行
  # */數字:表示每隔數字單位時間執行,如第一顆*位置寫*/10表示每隔10分鍾執行

image

5、編寫定時任務

crontab 參數
  參數:
	-e : 編輯定時任務
    -l : 查看定時任務
    -r : 刪除定時任務
    -u :指定其他用戶

image

6、練習

# 假設需要每天的凌晨21:47執行/root/1.sh
  [root@mysql03 ~]# crontab -e   # 進去編寫定時任務
  
    45 21 * * * /root/1.sh
    
  [root@mysql03 ~]# chmod +x 1.sh # 給1.sh加執行權限

image

7、定時任務是相對隔離

每一個用戶的定時任務是相對隔離的,在/var/spool/cron目錄下,以當前用戶的用戶名命名的文件就是它的定時任務文件。
  [root@mysql03 ~]# ll /var/spool/cron  # 查看該目錄下的定時任務
  [root@mysql03 ~]# cat /var/spool/cron/用戶名  # 查看該用戶名設置的定時任務

image

8、定時任務服務運行記錄日志文件

查看定時任務服務運行記錄日志文件常用命令:

  [root@mysql03 ~]# head /var/log/cron  # 從頭部開始查看文件,默認查看10行
	-n數字 : 指定查看多少行
	
  [root@mysql03 ~]# tail /var/log/cron  # 從尾部開始查看文件,默認查看10行
    -n數字 : 指定查看多少行
    -f :  實時監控文件變化
    
  [root@mysql03 ~]# less /var/log/cron  # 類似於vim的方式查看文件,使用光標上下翻動,空格進行翻頁,q退出
  [root@mysql03 ~]# more /var/log/cron  # 類似於vim的方式查看文件,使用回車上下翻動,空格進行翻頁,q退出
  [root@mysql03 ~]# cat /var/log/cron  # 查看文件

image

image

image

9、定時任務格式規范

定時任務格式規范,每種寫法都試用於每顆星星:* * * * *

  1.每隔2分鍾執行: */2 * * * *
  2.每天的2點,4點,6點,8點,10點這4個小時的01分鍾執行: 01 2,4,6,10 * * *
  3.每天的2到6點執行: 00 2-6 * * *
  4.每天的2到6點中每隔2小時執行: 00 2-6/2 * * *
  5.每年的2月14號或者每年2月的周日2點執行: 00 02 14 2 7
  6.每個月的14號2點或者每周日的2點執行: 00 02 14 * 7
  7.每個月的1,5,15號2點每隔十分鍾執行: */10 02 1,5,15 * *
  8.每周二的兩點執行: 00 02 * * 02
		
# 注意:設置定時任務一定要加注釋;用腳本執行定時任務,腳本要使用絕對路徑,需要添加執行權限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM