欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux之計(jì)劃任務(wù)和調(diào)度命令at/cron詳解

 更新時(shí)間:2025年04月21日 14:17:23   作者:runqu  
這篇文章主要介紹了Linux之計(jì)劃任務(wù)和調(diào)度命令at/cron的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Linux計(jì)劃任務(wù)和調(diào)度命令at/cron

一、計(jì)劃任務(wù)

進(jìn)程是由程序執(zhí)行后才產(chǎn)生的。程序的執(zhí)行可以通過兩種方法之一可以實(shí)現(xiàn)

  1. 手動(dòng)執(zhí)行
  2. 利用調(diào)度任務(wù),依據(jù)一定的條件自動(dòng)執(zhí)行。就像windows中的計(jì)劃任務(wù)

如果打算讓程序自動(dòng)執(zhí)行,您可以使用下面的命令來得已實(shí)現(xiàn):

  • at
  • cron

二、命令{at}介紹

由atd服務(wù)負(fù)責(zé)并管理的。屬于at的守護(hù)進(jìn)程??赏ㄟ^如下指令查看、啟動(dòng)、關(guān)閉atd。

#systemctl stop atd
#systemctl start atd
#systemctl restart atd
#systemctl status atd

at,這是一個(gè)一次性的計(jì)劃任務(wù)。at的執(zhí)行主要依靠系統(tǒng)服務(wù)atd。系統(tǒng)中有2個(gè)文件

  • /etc/at.allow
  • /etc/at.deny

這2個(gè)文件規(guī)定了系統(tǒng)誰可以使用at,誰不可以使用。超級(jí)用戶隨時(shí)可以使用at。其他用戶則要受到以上2個(gè)文件的限制。

總結(jié)如下:

  • 如果2個(gè)文件都存在,只檢查/etc/at.allow,只有在/etc/at.allow中規(guī)定的用戶才可以使用。
  • 如果只有/etc/at.deny存在,每個(gè)在該文件中不存在的用戶都可以使用。
  • 如果2個(gè)文件都不存在,只有超級(jí)用戶可以使用。

三、命令語法及功能 :at

  • 語法:at [ 選項(xiàng) ] [time]
  • 功能 : 依據(jù)預(yù)先定義好的時(shí)間 , 執(zhí)行指定進(jìn)程

1)at可接受的時(shí)間格式

1、日期

  • MM/DD/YY
  • MMDDYY
  • DD.MM.YY

2、時(shí)間

  • HH:MM
  • HH:MMam
  • HH:MMpm

3、特殊日期

midnight(0am)
noon(0pm)
teatime(4pm)
now( 現(xiàn)在 )
now + N(minutes,hours,days,weeks)
eg1:
at 23:00
at>reboot
at><EOT> ← 按 ^D 得到此符號(hào) , 意味結(jié)束
eg2:
at now
at>ls
at><EOT>

2)時(shí)間輸入規(guī)范 :

  1. 只輸入時(shí)間.不輸入日期,會(huì)被認(rèn)為是在今天的某個(gè)時(shí)刻。
  2. 如果只輸入日期,不輸入時(shí)間,被認(rèn)為是被輸入日期的現(xiàn)在這個(gè)時(shí)刻。
  3. 支持輸入一個(gè)完整的時(shí)間。

at時(shí)間格式

eg:

#at 23:00
#at 12/31/13
#at 23:00 12/31/13
#at noon
#at 0:00pm 12/31/13
#at teatime + 30 minutes(下午四點(diǎn)后的30分鐘)
#at 4:00pm + 4 days(從下午4點(diǎn)的4天)
#at now + 4 weeks(從現(xiàn)在起的4周)

3)at 隊(duì)列管理

at在編輯后,將進(jìn)入隊(duì)列中。由atd服務(wù)掃描任務(wù)并等待任務(wù)的執(zhí)行

1/查看at隊(duì)列可使用下面命令

  • 命令:atq
  • 功能:查看at隊(duì)列
  • 結(jié)構(gòu)語法:atq [ 選項(xiàng) ]

at在編輯后,如打算查看某個(gè)任務(wù)隊(duì)列的信息及準(zhǔn)備執(zhí)行的命令,可按如下命令執(zhí)行:

#at -c at隊(duì)列ID

2/at編輯后,隊(duì)列等待執(zhí)行。如取消預(yù)定的at任務(wù),可以使用 atrm完成取消動(dòng)作。

  • 命令:atrm
  • 功能:刪除at隊(duì)列中的指定任務(wù)
  • 結(jié)構(gòu)語法:atrm [ 選項(xiàng) ] [ 隊(duì)列 ID]

四、命令{cron}介紹

cron與at最大區(qū)別,在于cron屬于依據(jù)指定周期執(zhí)行預(yù)定任務(wù)。cron的守護(hù)進(jìn)程為crond。

#systemctl stop crond
#systemctl start crond
#systemctl restart crond
#systemctl status crond

五、cron語法及功能

  • 命令:crontab
  • 功能:實(shí)現(xiàn)周期性計(jì)劃任務(wù)的執(zhí)行
  • 語法格式:crontab [ 選項(xiàng) ]

選項(xiàng):

  • -l 查看cron計(jì)劃任務(wù)列表。
  • -e 以默認(rèn)文本編輯器,編輯cron計(jì)劃任務(wù)列表。
  • -r 刪除cron計(jì)劃任務(wù)列表。
  • -u 指定用戶。如果不指定用戶,-l,-e,-r都認(rèn)為是對(duì)當(dāng)前用戶操作。

(1)cron編輯的格式:

1)shell及mail格式定義

SHELL=/bin/bash

SHELL 指定以哪個(gè)shell來處理計(jì)劃任務(wù)的命令。

MAILTO=root

MAILTO 指定運(yùn)行完計(jì)劃任務(wù)或者是運(yùn)行是遇到障礙,都會(huì)發(fā)郵件給某個(gè)用戶,給以提示。

2)時(shí)間格式定義

  • 分鐘 0-59
  • 小時(shí) 0-23
  • 每月中的第幾天 1-31
  • 月 1-12
  • 星期 0-7

//* 星期中0,7同樣表示周日

  • “*” 在第一列,能夠代表每一分鐘。
  • “*” 在第二列,能夠代表每一小時(shí)。
  • “*” 在第三列,能夠代表一個(gè)月中的每一天。
  • “*” 在第四列,能夠代表一年中的每個(gè)月。
  • “*” 在第五列,能夠代表一個(gè)星期中的每一天。

3) 特殊時(shí)間格式定義

連續(xù)的情況,以小時(shí)舉例

1,2,3,4,5,8,9,10 可以這樣寫 1-5,8-10 。

周期間隔

如每隔5分鐘可在第一列寫成:

*/5

4)cron格式

* * * * * 所需要執(zhí)行的命令及路徑

eg:

0 0 1 1 * echo “Happy New Year”

示例

0 */2 13 * 5 /usr/bin/wall be careful,dark friday!

代表黑色星期五,每隔2小時(shí),向用戶發(fā)出提示。

0 20 * * 1-5 /sbin/shutdown -h now

從周1到周5,每天晚上8點(diǎn),自動(dòng)關(guān)機(jī)。

(2)cron編寫任務(wù)

1. 以當(dāng)前賬戶創(chuàng)建cron計(jì)劃任務(wù)

#crontab -e

2. 以指定用戶創(chuàng)建其cron計(jì)劃任務(wù)(僅root)

#crontab -e -u snow

3. 以指定文件作為計(jì)劃任務(wù)的要求

#vim newcron
*/5 * * * * wall hello
#crontab newcron
或
#crontab -u snow newcron

(3)查看cron任務(wù)隊(duì)列

1) 查看當(dāng)前使用賬戶的cron隊(duì)列

#crontab -l

2) 查看其他賬戶的cron隊(duì)列(僅root可以查看其他用戶的cron隊(duì)列)

#crontab -l -u snow

(4)清除cron任務(wù)隊(duì)列

1)清除當(dāng)前使用賬戶的cron隊(duì)列

#crontab -r

2清除其他賬戶的cron隊(duì)列(僅root可以查看其他用戶的cron隊(duì)列)

#crontab -r -u snow

(5)相關(guān)配置文件

/etc/crontab
系統(tǒng)計(jì)劃任務(wù)表及說明。
/etc/cron.d
特定的系統(tǒng)計(jì)劃任務(wù)表
/etc/cron.hourly
系統(tǒng)每小時(shí)要運(yùn)行的計(jì)劃任務(wù)。
/etc/cron.daily
系統(tǒng)每天要運(yùn)行的計(jì)劃任務(wù)。
/etc/cron.weekly
系統(tǒng)每個(gè)星期要運(yùn)行的計(jì)劃任務(wù)。
/etc/cron.monthly
系統(tǒng)每個(gè)月要運(yùn)行的計(jì)劃任務(wù)。

雖然/etc/cron.hourly等目錄中全部是shell腳本,但在/etc/cron.d/0hourly文件中,規(guī)定了使用run-parts命令來執(zhí)行指定的目錄腳本文件。這就使得這些上述shell腳本目錄的任務(wù)得以執(zhí)行。

使用run-parts腳本來執(zhí)行

/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

以上目錄中的腳本,這些腳本被相應(yīng)地每小時(shí)、每日、每周、或每月執(zhí)行。這些目錄中的文件應(yīng)該是shell腳本。

run-parts是一個(gè)腳本,在/usr/bin/run-parts,作用是執(zhí)行一個(gè)目錄下的所有腳本/程序。

六、anacron

cron的計(jì)劃任務(wù)執(zhí)行必須保持計(jì)算機(jī)處于開啟狀態(tài)。如果關(guān)機(jī)或在指定的時(shí)間沒有執(zhí)行,將只能等待下一個(gè)周期。而anacron不同,如果在指定的時(shí)間沒有成功執(zhí)行,則會(huì)在一段時(shí)間之內(nèi)于所指定的重試時(shí)間再次執(zhí)行

anacron配置文件

#vim /etc/anacrontab

格式

  • 時(shí)間間隔(默認(rèn)為天,@monthly為1個(gè)月內(nèi)執(zhí)行)
  • 等待間隔(默認(rèn)為分鐘)
  • 任務(wù)標(biāo)識(shí)

命令

說明:

  • 時(shí)間間隔:執(zhí)行任務(wù)的時(shí)間間隔
  • 等待間隔:時(shí)間間隔到期后,任務(wù)沒有執(zhí)行,則使用此處設(shè)置時(shí)間再次嘗試執(zhí)行
  • 任務(wù)標(biāo)識(shí):任務(wù)說明
  • 命令:實(shí)際所執(zhí)行的任務(wù)
period(頻率.天數(shù))
delay(延遲,分鐘)
job-identifier command
  • 第一行的意思是:每天開機(jī)5分鐘后就檢查cron.daily文件是否被執(zhí)行了,如果今天沒有被執(zhí)行就執(zhí)行他
  • 第二行的意思是:每隔7天開機(jī)后25分鐘檢查cron.weekly文件是否被執(zhí)行了,如果一周內(nèi)沒有被執(zhí)行就執(zhí)行他
  • 第三行的意思是:每月開機(jī)45分鐘后就檢查cron.monthly文件是否被執(zhí)行了,如果今天沒有被執(zhí)行就執(zhí)行他

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 安裝ubuntu時(shí)黑屏的解決辦法(3種)

    安裝ubuntu時(shí)黑屏的解決辦法(3種)

    這篇文章主要介紹了安裝ubuntu時(shí)黑屏的解決辦法(3種),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Windows7下Linux雙操作系統(tǒng)安裝圖文教程

    Windows7下Linux雙操作系統(tǒng)安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows7下Linux雙操作系統(tǒng)安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • linux vim撤銷回退操作方式

    linux vim撤銷回退操作方式

    在Linux的vim編輯器中,撤銷(Undo)和回退(Redo)操作可以通過不同的方式實(shí)現(xiàn),撤銷單個(gè)更改或連續(xù)更改,可以使用u鍵或:undo命令,連續(xù)撤銷可以使用U命令,而.命令可以重復(fù)上一個(gè)編輯動(dòng)作
    2025-02-02
  • Linux中Oracle服務(wù)啟動(dòng)和停止腳本與開機(jī)自啟動(dòng)

    Linux中Oracle服務(wù)啟動(dòng)和停止腳本與開機(jī)自啟動(dòng)

    這篇文章主要介紹了Linux中Oracle服務(wù)啟動(dòng)和停止腳本與開機(jī)自啟動(dòng),有興趣的同學(xué)可以一起來了解一下。
    2016-12-12
  • 在Linux系統(tǒng)中srv目錄的作用詳解

    在Linux系統(tǒng)中srv目錄的作用詳解

    在Linux系統(tǒng)中,/srv目錄用于存放與系統(tǒng)服務(wù)相關(guān)的數(shù)據(jù),如Web服務(wù)器、FTP服務(wù)器等,它提供了一種約定,用于將服務(wù)數(shù)據(jù)組織起來,便于管理和維護(hù),通常,/srv目錄的內(nèi)容按照服務(wù)類型進(jìn)行子目錄劃分,便于管理和備份
    2025-03-03
  • Apache POI的基本使用詳解

    Apache POI的基本使用詳解

    Apache POI是由Apache公司提佛那個(gè)的Java編寫的免費(fèi)開源的跨平臺(tái)Java API,提供對(duì)Microsoft Office格式文件的讀和寫的功能。本文向大家介紹Apache POI的基本使用,感興趣的朋友一起看看吧
    2021-11-11
  • Linux應(yīng)用程序管理與安裝方式

    Linux應(yīng)用程序管理與安裝方式

    這篇文章主要介紹了Linux應(yīng)用程序管理與安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • apache .htaccess文件詳解和配置技巧總結(jié)

    apache .htaccess文件詳解和配置技巧總結(jié)

    這篇文章主要介紹了apache .htaccess文件詳解和配置技巧總結(jié),需要的朋友可以參考下
    2014-04-04
  • Linux有限狀態(tài)機(jī)FSM的理解與實(shí)現(xiàn)

    Linux有限狀態(tài)機(jī)FSM的理解與實(shí)現(xiàn)

    這篇文章主要幫助大家理解與實(shí)現(xiàn)Linux有限狀態(tài)機(jī)FSM,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡

    Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡

    這篇文章主要介紹了Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評(píng)論