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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux 计划任务 实例,计划任务 cron 的配置和实例

發布時間:2023/12/10 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 计划任务 实例,计划任务 cron 的配置和实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、計劃任務概說;

計劃任務,是任務在約定的時間執行已經計劃好的工作,這是表面的意思。在Linux中,我們經常用到 crond

服務器來完成這項工作。cron服務器可以根據配置文件約定的時間來執行特定的作務。比如我們可以在配置文件中約定每天早上4點,對httpd

服務器重新啟動,這就是一個計劃任務;

下面我們先來說說cron;

在Linux系統中,計劃任務一般是由cron承擔,我們可以把cron設置為開機時自動啟動。cron啟動后,它會讀取它的所有配置文件(全局性配置文件/etc/crontab,以及每個用戶的計劃任務配置文件),然后cron會根據命令和執行時間來按時來調用度工作任務。

2 cron

的安裝和啟動

在一般情況下,cron都是系統默認安裝的,我們要學會查看軟件包是否已經安裝:

查看是否安裝:

[root@localhost ~]# rpm -qa |grep cron

vixie-cron-4.1-54.FC5

anacron-2.3-36.1

crontabs-1.10-7.1

其中vixie-cron軟件包是cron的主程序,您可以通過下面的命令來了解它,其它軟件包同理;

[root@localhost

beinan]# rpm -ql vixie-cron

crontabs 軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。cron 守護進程檢查

crontab

文件來查看某個指定命令被調度執行的時間。如果命令已經調度,守護進程就會執行它們。了解crontabs軟件包都安裝了些什么,應該用下面的命令;

[root@localhost

beinan]# rpm -ql?crontabs

如果沒有安裝,可以從光盤中找出文件名帶有cron字樣的軟件包來安裝。

安裝:

[root@localhost ~]# rpm -ivh

vixie-cron-4.1-54.FC5*

[root@localhost ~]# rpm -ivh crontabs*

也可以用yum 來在線安裝;

[root@localhost ~]# yum install vixie-cron

[root@localhost ~]# yum install crontabs

啟動:

第一種 在Fedora或Redhat 等以RPM包管理的系統中:

[root@localhost ~]# /etc/init.d/crond start

[root@localhost ~]# /etc/init.d/crond stop

[root@localhost ~]# /etc/init.d/crond restart

或者:

啟動cron服務 /sbin/service crond start

停止服務 /sbin/service crond stop

重啟服務 /sbin/service crond restart

重新加載 /sbin/service crond reload

如果想在Fedora 和 Redhat

或以這些發行版為基礎克隆的發行版,如果想自動開機運行,請用下面的辦法:默認是開機啟動的

[root@localhost ~]# chkconfig --levels 35

crond on

第二種:通用

[root@localhost ~]# pgrep crond?注:判斷crond

是否在運行;

[root@localhost ~]# pkill crond?注:殺掉正在運行中的crond;

[root@localhost ~]# pgrep crond?注:查看是否被殺掉了;

[root@localhost ~]# /usr/sbin/crond?注:運行crond;

3 配置cron

全局性配置文件是/etc/crontab

1.可以使用的用戶

默認情況下,系統中可以登陸的用戶,都可以使用crontab定義計劃任務。不過,可以通過下面兩個文件限制權限:

◆/etc/cron.allow:

將可以使用 crontab 的賬號寫入其中,若不在這個檔案內的使用者則不能使用 crontab;

◆/etc/cron.deny:

將不可以使用 crontab 的賬號寫入其中,若未記錄到這個檔案當中的使用者,就可以使用 crontab 。

2.直接編輯全局配置文件( 編輯他不要重啟服務)

默認是這樣子的:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly?注:表示每個小時的第一分鐘,開始執行/etc/hourly目錄下的可執行程序或腳本

02 4 * * * root run-parts

/etc/cron.daily?注:表示每天的4點2分,開始執行/etc/cron.daily目錄下的可執行程序或腳本;

22 4 * * 0 root run-parts /etc/cron.weekly?注:每年第7個周4點我22分,開始執行 /etc/cron.weekly目錄下的可執行程序或腳本;

42 4 1 * * root run-parts /etc/cron.monthly?注:每月第1天的4點42分,開始執行/etc/cron.monthly目錄下的可執行程序或腳本;

可以看到前面的五個參數的定義和直接編輯計劃任務是一樣的,增加了執行的用戶定義和run-parts參數。

run-parts后面跟的是目錄名稱,目錄是可以自己定義的。

如果你需要增加系統的計劃任務,只需要在對應的目錄添加執行文件即可

※同樣的,如果不需要使用目錄的方式,也可以使用如下的方式:

02 01 * *

*?root?/root/test.sh?也就是沒有了run-parts,后面就直接跟命令的絕對路徑

上面這幾個目錄這些行是用來在同一時間批量執行任務的,同一時間執行多個腳本,把這些腳本放到相應的目錄下,到時就會依次執行。

3 書寫格式

分鐘 小時

日?月?周?[用戶名]?命令

說明:

第一段應該定義的是:分鐘,表示每個小時的第幾分鐘來執行。范圍是從0-59

第二段應該定義的是:小時,表示從第幾個小時來執行,范圍是從0-23

第三段應該定義的是:日期,表示從每個月的第幾天執行,范圍從1-31

第四段應該定義的是:月,表示每年的第幾個月來執行,范圍從1-12

第五段應該定義的是:周,表示每周的第幾天執行,范圍從0-6,其中 0表示星期日。

每六段應該定義的是:用戶名,也就是執行程序要通過哪個用戶來執行,這個一般可以省略;

第七段應該定義的是:執行的命令和參數。

4 直接用命令編輯

cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:

crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數

crontab -l //列出某個用戶cron服務的詳細內容

crontab -r //刪除沒個用戶的cron服務

crontab -e //編輯某個用戶的cron服務

比如說root查看自己的cron設置:crontab -u root -l

再例如,root想刪除fred的cron設置:crontab -u fred -r

5 幾個特殊符號的含義:

"*"代表取值范圍內的數字,?"/"代表"每",?"-"代表從某個數字到某個數字,?","分開幾個離散的數字

6 例子:

5?*?*?*?*?ls?指定每小時的第5分鐘執行一次ls命令

30?5?*?*?*?ls?指定每天的 5:30 執行ls命令

30?7?8?*?*?ls?指定每月8號的7:30分執行ls命令

30?5?8?6?*?ls?指定每年的6月8日5:30執行ls命令

30?6?*?*?0?ls?指定每星期日的6:30執行ls命令[注:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]

30?3?10,20?*?*?ls?每月10號及20號的3:30執行ls命令[注:“,”用來連接多個不連續的時段]

25?8-11

*?*?*?ls?每天8-11點的第25分鐘執行ls命令[注:“-”用來連接連續的時段]

*/15?*?*?*?*?ls?每15分鐘執行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ]

30?6?*/10?*?*?ls?每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]

每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件

50?7?*?*?*?root?run-parts?/etc/cron.daily?[

注:run-parts參數表示,執行后面目錄中的所有可執行文件。 ]

注意事項:

◆當編寫/etc/crontab文件的時候,不要漏了指定執行計劃任務的用戶,這是和直接用crontab -e編輯不同的。

◆某用戶(如root)用crontab

-e編輯的計劃任務存放在/var/spool/cron/root,這個文件下。但最好不要直接編輯他,因為crond執行的時候,會在/tmp目錄中建立需要的臨時文件,直接編輯會對此有影響,甚至出錯。

◆cron執行的每一項工作都會被紀錄到/var/log/cron這個日志文件中,可以從這個文件查看命令執行的狀態。

總結

以上是生活随笔為你收集整理的linux 计划任务 实例,计划任务 cron 的配置和实例的全部內容,希望文章能夠幫你解決所遇到的問題。

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