【linux】循序漸進學運維-基礎篇-crontab計劃任務

大家好,我是高勝寒,本文是Linux運維-循序漸進學運維-基礎篇的第58篇文章。

前言:

計劃任務在公司用的比較多,而且在面試中也經常會問到關於計劃任務的問題,尤其是筆試題裏面,涉及到計劃任務的更多。
在之前的文章中,我們講了一個一次性的任務叫at , 如果你對at沒有印象了,可以點擊下方鏈接進行復習:

【linux】循序漸進學運維-基礎篇-at命令

crontab定時任務的作用

crond命令定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作,只要提前寫好規則,後期無需人工干預,自動執行。

比如沃恩可以用計劃任務更新數據庫,做日誌切割,定時執行一些任務腳本,比如巡檢,收集系統狀態等等。

crontab的參數

參數 作用
u 指定用戶
l 列出當前用戶下的cron服務的詳細內容
r 刪除計劃任務
e 編輯計劃任務

crontab -e 編輯時的語法

cat /etc/crontab
在這裏插入圖片描述
上圖展示的是: 每個*的取值範圍,比如第一個星號爲分鐘, 取值爲0-59

從左往右分別爲:分時日月周
周的取值爲 0-7, 週日用0 或者7 來表示

在crontab 裏一行代表一個任務,特殊符號的含義如下:

特殊符號 作用 舉例
* 代表取值範圍內的任意數字 * * * * 7
/ 指定時間的間隔頻率 */10
- 代表從某個時間到某個時間 9-16
, 用逗號隔開指定一個列表範圍 1,2,3,8

crontab 使用舉例

crontab -e  用來編輯計劃任務
contab -l 查看計劃任務
1. 每天21:30備份數據
[root@ecs-c13b ~]# crontab -e

[root@ecs-c13b ~]# crontab -l
30 21 * * * tar zcvf /opt/data.tar.gz  /data/*
2. 每個月的1,10,22日的5:15重啓apache
[root@ecs-c13b ~]# crontab -l
15 5 1,10.22 * * /etc/init.d/httpd restart
3. 每天的23點到凌晨2點 這個時間段 每14分鐘執行一次 腳本
[root@ecs-c13b ~]# crontab -l
*/14 0-2,23 * * * /srv/opstool/rml_third.sh
4 .每月的5日到10日的4:10 重啓httpd

10 4 5-10 * * /etc/init.d/httpd restart

5 .每月的5日到10日的每個小時 重啓httpd

0 */1 5-10 * * /etc/init.d/httpd restart

總結:

計劃任務需要多練習,熟能生巧。

我是高勝寒,一個在教培行業不忘初心的人,歡迎留言與我交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章