linux基礎命令學習(四)計畫任務

2022-05-18 03:21:50 字數 4292 閱讀 3227

一、計畫任務 crond服務簡介

linux

任務排程的工作主要分為以下兩類:

*系統執行的工作:系統週期性所要執行的工作,如備份系統資料、清理快取

*個人執行的工作:某個使用者定期要做的工作,例如每隔

10分鐘檢查郵件伺服器是否有新信,這些工作可由每個使用者自行設定。

這個時候可以用

cron

來幫助系統進行任務排程。

cron

可以根據時間、日期、月份、星期的組合來排程對重複任務的執行的守護程序。

crond

服務通過

shell

和linux/unix

下的crontab

(計畫任務控制)的方式實現。

cron

是計畫任務的稱呼,

crond

是後台程序,而

crontab

則是定製好的計畫任務表。

cron

這個名字來自

「chronos」

,乙個古希臘語「時間

」的意思。

crond

程序每分種會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。

要使用crond

服務,你必須安裝了

vixie-cron rpm

軟體包,而且必須在執行

crond

服務。要判定該軟體包是否已安裝,使用

rpm -q vixie-cron

命令。要判定該服務是否在執行,使用

/sbin/service crond status

命令。crond

服務是linux

的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務:

/sbin/service crond start //

啟動服務

/sbin/service crond stop //

關閉服務

/sbin/service crond restart //

重啟服務

/sbin/service crond reload //

重新載入配置

你也可以讓這個服務在系統啟動的時候自動啟動,只需要在

/etc/rc.d/rc.local

這個指令碼的末尾加上

:/sbin/service crond start

2.2 crond服務的使用

cron

d服務提供

crontab

命令來設定

crond

服務,以下是這個命令的一些引數與說明

:crontab -u //

設定某個使用者的

cron

服務,一般

這個引數只允許root

使用crontab -l //

列出某個使用者

cron

服務的詳細內容

crontab -r //

刪除某個使用者的

cron

服務注意:如果有多條計畫任務

crontab -r

會刪除使用者所有的計畫,如果你只想刪除其中一條計畫任務,請使用

crontab -e

命令或者直接編輯

/var/spool/cron/root

檔案。crontab -e //

編輯某個使用者的

cron

服務現舉例說明:

# crontab -u root –l

//root

檢視自己的

cron

設定# crontab -u fred –r

// root

想刪除fred

的cron

設定# crontab -u root –e

//編輯

root

的crontab

檔案crontab -e

命令編輯的是

/var/spool/cron

下對應使用者的

cron

檔案我們也可以直接修改

/etc/crontab

檔案,crontab

檔案有自己的格式,具體如下:

minute  hour   day    month   dayofweek   command

分鐘 小時天月

天每星期

命令每個字段代表的含義如下:

minute

每個小時的第幾分鐘執行該任務

hour

每天的第幾個小時執行該任務

day每月的第幾天執行該任務

month

每年的第幾個月執行該任務

dayofweek

每週的第幾天執行該任務

command

指定要執行的程式

舉例如下:

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命令

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

//每天7:

50以root

身份執行

/etc/cron.daily

目錄中的所有可執行指令碼

注:run-parts

引數表示,執行後面目錄中的所有可執行檔案,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是資料夾名了

30     5      *        *     *     ls >/jp/test 2>&1

//每天5:

30執行

ls命令,並把結果輸出到

/jp/test

檔案中注:

2>&1

表示執行結果及錯誤資訊

記住幾個特殊符號的含義

:"*"

代表取值範圍內的數字

,"/"代表"

每","-"代表從某個數字到某個數字

,","

分開幾個離散的數字

chkconfig --list crond 查詢crond服務的執行級資訊

chkconfig --level 2345 crond 設定crond服務的執行級資訊

等級0表示:表示關機

等級1表示:單使用者模式

等級2表示:無網路連線的多使用者命令列模式

等級3表示:有網路連線的多使用者命令列模式

等級4表示:不可用

等級5表示:帶圖形介面的多使用者模式

等級6表示:重新啟動

檔案在 /etc/inittab

Linux基礎 命令(四)

本文存在多處細節需要分篇而寫,在這裡先簡單列出命令使用,後期找時間會進行插圖詳細說明。掛載du df file df k df h du sk file 檢視掛載資訊,df k 和 h 沒有太大區別,都可以自己試試看。分割槽sudo fdisk pname 管理分割槽,分割槽建立,刪除 針對兩t以下...

Linux基礎命令(四)

31 配置當前使用者環境變數 vim etc profile 32 su ryze 切換使用者 33 sudo su 進入root身份 34 sudo password gec 給gec使用者改密碼 35 命令模式下 刪除命令 dd 刪除 游標所在行 n dd 刪除指定的行數 撤銷命令 u 一步步撤...

linux達人養成計畫學習筆記(四) 壓縮命令

一 常見的壓縮格式 二 zip格式壓縮 1 壓縮檔案 資料夾 zip 壓縮後檔名 zip結尾 壓縮檔案名 zip r 壓縮後資料夾 zip結尾 壓縮檔案 2 解壓縮 unzip 壓縮檔案三 gz格式壓縮 1 壓縮 gzip 原始檔 壓縮為.gz格式的壓縮檔案,原始檔會消失 gzip c 原始檔 壓縮...