日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux进阶之路————crond定时任务调度

發布時間:2025/3/12 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux进阶之路————crond定时任务调度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言

crond 的概念和 crontab 是不可分割的。crontab 是一個命令,而 crond 是Linux 下用來周期性執行某種任務或等待處理某些事件的守護進程,類似于 Windows 下的計劃任務。

當裝完操作系統之后,默認便會安裝 crond 服務工具,并會自動啟動 crond 進程,crond 進程每分鐘定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

Linux 下的定時任務種類

種類使用場景
at適合僅執行一次就結束的調度命令,需要啟動一個后端的atd服務。?
crontab最常用的定時任務,需要啟動一個服務crond才行,crond服務通過crontab命令實現?
anacron無法周期性執行,只能以天為周期,但有個特點,在關機狀態下未>執行的任務,下次開機時可以補上執行

crontab 工作原理

在 Linux 中,crontab 是最常用的定時任務工具,系統會每分鐘循環檢查任務列表,默認系統中可以登錄的用戶,都可以使用 crontab 定義計劃任務。另外,還可以通過 /etc/cron.allow 文件來限制權限。

系統任務調度和用戶任務調度

crontab 設置定時任務可以分為兩類:

系統任務調度:指的是系統級別的周期性任務,如定期寫磁盤、日志清理。/etc/crontab 文件就是系統任務調度的配置文件。

用戶任務調度:通過 crontab -e 進行編寫的任務,都屬于用戶任務調度,這類任務可以包括:用戶數據備份、定時郵件提醒等。Linux 系統會將所有用戶設置的定時任務存放到 /var/spool/cron 目錄中,文件名與用戶名一致:

執行 crontab -r? 后,即直接刪除用戶 crontab 文件:

cron 表達式

【基本含義】

項目含義范圍
第一個*一小時當中的第幾分鐘0-59
第二個*一天當中的第幾小時0-23
第三個*一個月當中的第幾天1-31
第四個*一年當中的第幾月1-12
第五個*一周當中的星期幾0-7(0和7 都代表星期日)

【特殊符號含義】

特殊符號含義
*任何時間。如第一個 * 代表每分鐘都執行。
不連續的時間,如:0 8,12 * * * ,表示每天8:00和12:00各執行一次。
-連續的時間段,如:0 5 * * 1-6,表示每周一到周六的5:00執行。
/間隔時間,如:*/10 * * * * , 表示每隔 10 分鐘執行一次,不看時間點。

crontab 基本應用

【語法】

crontab [-u user] [ -e | -l | -r ]

【常用參數】

-e 編輯 crontab 定時任務

-l? 查詢crontab 定時任務

-r? 刪除當前用戶所有的 crontab 任務(終止任務調度)

【服務操作】

service crond restart 或 /sbin/service crond restart? 重啟任務調度服務?

service crond stop 關閉服務

service crond start 啟動服務

service crond reload 重新載入配置

查看crontab 運行日志

/var/log/cron-日期? 文件中,可以看到定時任務的執行情況:

應用案例1

【案例要求】將 /etc 目錄下的文件列表每分鐘追加到 /tmp/to.txt 文件中。

【操作步驟】

1)?cron? -e

2)?*/1 * * * * ?ls -l /etc >>/tmp/to.txt

3)保存退出,即可生效

?

應用案例2

【案例要求】每天凌晨2點,將mysql數據庫testdb,備份到文件mydb.bak中

1)先編寫一個腳本文件,/home/mytask3.sh

/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak

2)給mytask3.sh 一個可執行權限

chmod 744 /home/mytask3.sh

3)crontab -e

4)0 2 * * * /home/mytask3.sh

【注意】如果直接執行類似 * * * * * ls? /home? 或 * * * * * echo 'hello? world' 這樣的任務,Linux會每分鐘發一封郵件給當前用戶。保存在 /var/spool/mail/root 中。

總結

以上是生活随笔為你收集整理的Linux进阶之路————crond定时任务调度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。