最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • Linux下如何啟動(dòng)Oracle命令

    Linux下如何啟動(dòng)Oracle命令

    這篇文章主要介紹了Linux下如何啟動(dòng)Oracle命令問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解Linux進(jìn)程間通信——使用信號(hào)量

    詳解Linux進(jìn)程間通信——使用信號(hào)量

    這篇文章主要介紹了詳解Linux進(jìn)程間通信——使用信號(hào)量,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • 在Linux系統(tǒng)中掛載Windows共享文件夾的詳細(xì)步驟

    在Linux系統(tǒng)中掛載Windows共享文件夾的詳細(xì)步驟

    在Linux系統(tǒng)中掛載Windows共享文件夾,本質(zhì)是通過 CIFS協(xié)議(Windows文件共享的核心協(xié)議)建立連接,將遠(yuǎn)程共享目錄映射到本地Linux目錄,以下是詳細(xì)步驟(適用于CentOS、Ubuntu等主流發(fā)行版),需要的朋友可以參考下
    2025-11-11
  • Linux之軟件包管理器yum詳解

    Linux之軟件包管理器yum詳解

    文章介紹了現(xiàn)代類Unix操作系統(tǒng)中軟件包管理和包存儲(chǔ)庫的工作原理,以及如何使用包管理器如yum來安裝、更新和卸載軟件,文章還介紹了如何配置yum源,更新系統(tǒng)軟件包和查看已安裝的軟件
    2025-01-01
  • CentOS6.5系統(tǒng)簡單安裝與配置Nginx服務(wù)器的方法

    CentOS6.5系統(tǒng)簡單安裝與配置Nginx服務(wù)器的方法

    這篇文章主要介紹了CentOS6.5系統(tǒng)簡單安裝與配置Nginx服務(wù)器的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了CentOS6.5平臺(tái)安裝及配置nginx服務(wù)器的具體步驟、相關(guān)命令及使用方法,需要的朋友可以參考下
    2018-04-04
  • 整理Linux中字符串的相關(guān)操作技巧

    整理Linux中字符串的相關(guān)操作技巧

    我們在linux的操作中經(jīng)常會(huì)對(duì)文件中的字符串進(jìn)行替換、統(tǒng)計(jì)等操作,我們現(xiàn)在來做一次整理,感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2018-10-10
  • linux命令實(shí)現(xiàn)音頻格式轉(zhuǎn)換和拼接的方法

    linux命令實(shí)現(xiàn)音頻格式轉(zhuǎn)換和拼接的方法

    今天小編就為大家分享一篇linux命令實(shí)現(xiàn)音頻格式轉(zhuǎn)換和拼接的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Linux低電量自動(dòng)關(guān)機(jī)的實(shí)現(xiàn)方法

    Linux低電量自動(dòng)關(guān)機(jī)的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Linux低電量自動(dòng)關(guān)機(jī)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Linux按鍵驅(qū)動(dòng)測試方式

    Linux按鍵驅(qū)動(dòng)測試方式

    這篇文章主要介紹了Linux按鍵驅(qū)動(dòng)測試方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • 解密 Linux 版本信息的方法

    解密 Linux 版本信息的方法

    這篇文章主要介紹了解密 Linux 版本信息的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論

三台县| 南昌县| 岫岩| 句容市| 阿坝县| 固原市| 元氏县| 乌审旗| 门源| 漠河县| 稷山县| 长治县| 丰顺县| 咸宁市| 安丘市| 泰顺县| 阿尔山市| 宜丰县| 鄄城县| 霸州市| 会泽县| 通许县| 鹤岗市| 玉溪市| 庐江县| 清水县| 钟山县| 富锦市| 梁平县| 抚顺县| 广宁县| 平和县| 革吉县| 吉水县| 凤山市| 武宁县| 马尔康县| 杭州市| 夏津县| 江口县| 波密县|