亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 在linux上定期執行命令、腳本(cron,crontab,anacron)

在linux上定期執行命令、腳本(cron,crontab,anacron)

熱門標簽:威海電銷外呼系統好用嗎 輝縣市地圖標注 武漢語音電銷機器人加盟 外呼系統的合法性 房產證地圖標注的兩個面積 同花順電話機器人微信 北京電銷機器人對市場的影響 地圖標注x是啥意思 湖北孝感如何辦理

人類把時間做了切割,想象一條筆直的線永遠向前,本來這條直線上什么都沒有,但是人類根據時間的長短(單位)在這條直線上做了密密麻麻的標記(世紀-年-月-日-時-分-秒-納秒......),通過這樣的方式歷史上的每一個時刻都能夠被單獨拿出來,而未來的每一個時刻也能被單獨計劃。更重要的是,每一個單獨的時刻又能跟相鄰的被更大單位所控制的相似時刻做比較,比如,今天的晚上12點跟明天的晚上12點,相似的是,兩個時刻都是12點,不同的是今天跟明天,她們是相鄰的更大單位。因為這樣的緣故,在被更大單位所隔開的每一個相同時刻,我們可以告訴計算機重復某個任務。

在linux下,如果想要在未來的某個時刻執行某個任務,并且在未來的每一個這樣的時刻里都要執行這個任務,舉個簡單的例子,比如說想要在將來,每天的十二點都重啟路由器,大多數發行版都自帶一個守護進程(daemon)cron來完成這項工作。

1.cron,crontab以及anacron的關系

cron是大多數linux發行版都自帶的守護進程(daemon),用來重復運行某些被設定好了確定的運行時間的任務,這些任務可以是每個月運行、每周運行、每天運行,甚至是每一分鐘運行。用cron執行的任務適合于24小時運行的機器,cron執行的任務會在設定好的時刻執行,當機器處于關機狀態下并錯過了任務執行的時間,cron任務就無法預期執行了。

crontab(cron table的簡稱)既可以指cron用來定期執行特定任務所需要的列表文件,又可以指用來創建、刪除、查看當前用戶(或者指定用戶)的crontab文件的命令。

anacron不是守護進程,可以看做是cron守護進程的某種補充程序,anacron是獨立的linux程序,被cron守護進程或者其他開機腳本啟動運行,可以每天、每周、每個月周期性地執行一項任務(最小單位為天)。適合于可能經常會關機的機器,當機器重新開機anacron程序啟動之后,anacron會檢查anacron任務是否在合適的周期執行了,如果未執行則在anacron設定好的延遲時間之后只執行一次任務,而不管任務錯過了幾次周期。舉個例子,比如你設定了一個每周備份文件的任務,但是你的電腦因為你外出度假而處于關機狀態四周,當你回到家中開機后,anacron會在延遲一定時間之后只備份一次文件。由于發行版的不同,cron守護進程如何運行anacron會有所不同。

2.crontab命令,crontab文件語法

系統默認crontab文件為/etc/crontab,以及/etc/cron.d/目錄下的文件,有些程序會把自己的crontab文件放在/etc/cron.d/目錄下。要修改/etc/crontab以及/etc/cron.d/目錄下的文件需要root權限。cron守護進程會檢查/etc/crontab以及/etc/cron.d/目錄下的文件,根據這些文件中的cron任務所設置的執行時間決定是否執行任務,如果當前時間與cron任務所設置的執行時間相同,則執行任務。

每個用戶自己的crontab文件都會被放在 /var/spool/cron目錄下,默認為空,可以使用crontab命令創建。cron守護進程會檢查/var/spool/cron目錄下的文件,根據這些文件中的cron任務所設置的執行時間決定是否執行任務,如果當前時間與cron任務所設置的執行時間相同,則執行任務。

當cron的配置文件發生改變時,不需要重置cron守護進程。cron守護進程會檢查配置文件的變化。

創建自己的crontab之前,首先要設置環境變量EDITOR,cron進程根據它來確定使用哪個編輯器編輯crontab文件。在home目錄下的.bashrc或者.profile里加入一行

#你也可以使用自己喜愛的其他終端編輯器
EDITOR=vim; export EDITOR

2.1.crontab命令參數及使用示例

usage: crontab [-u user] file
 crontab [ -u user ] [ -i ] { -e | -l | -r }
 -e (edit user's crontab)
 -l (list user's crontab)
 -r (delete user's crontab)
 -i (prompt before deleting user's crontab)

創建并編輯當前用戶的crontab

crontab -e

列出當前用戶的crontab

crontab -l

刪除用戶linus的crontab

crontab -u linus -i -r

2.2.crontab文件語法詳解及示例

當用 crontab -e 編輯當前用戶的crontab文件時,首先寫入以下內容。

# crontab -e
SHELL=/bin/bash
MAILTO=root@example.com
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

該文件的前三行代碼設置了默認環境。cron守護進程并不提供任何環境。SHELL變量設置當cron任務(命令以及腳本)運行時的shell,MAILTO變量設置cron任務執行結果發送的郵箱,PATH設置去哪些目錄下尋找cron任務的命令。注釋部分則解釋一條cron任務的構成,一條cron任務就是一行,要設置多少條cron任務則寫多少行。一條cron任務由七個部分組成,從左到右依次為:

  • 分鐘(0-59)
  • 小時(0-23)
  • 天(1-31)
  • 月 (1-12):或者可以使用月份的英文單詞的前三個字母,比如jan,feb,mar,apr...
  • 星期(0-6):星期天用0或者7都可以,或者可以使用星期的英文單詞的前三個字母,比如sun,mon,tue,wed,thu,fri,sat
  • 用戶名稱(可以省略)
  • 要執行的命令或者腳本目錄

前五個部分的編寫注意特殊符號的含義:

  • 如果你想匹配取值范圍內的所有值,使用“*”
  • 想匹配某些特殊的值,使用“,”,比如2,4,7就匹配的是2,4以及7。
  • 兩個值被“-”連接表示范圍,此時匹配的是范圍內所有值,包含“-”兩邊的值,比如4-7匹配的就是從4到7。
  • 想要表達每隔一段時間執行一次任務,使用 “/”, 比如分鐘部分中的 “*/10”表示每10分鐘運行一次,比如小時部分中的“10-22/2”則表示在早上10點到晚上10點這段時間內,每隔兩個小時運行一次。 注意 :當“/”左邊的值可以除盡“/”右邊的值時,任務才會運行。

例子1:

每天凌晨執行

0 0 * * * root command

例子2:

每周星期天早上五點執行

0 5 * * sun root command

例子3:

每個月的前10天晚上10點開始每隔10分鐘執行一次命令

*/10 22 1-10 * * root command

例子4:

從星期一到五,每個小時的第10分鐘、第20分鐘以及第30分鐘都執行一次命令

10,20,30 * * * 1-5 root command

例子5:

從早上10點到晚上10點,每個偶數的小時(比如10點,12點)里每五分鐘運行一次命令

*/5 10-22/2 * * * root command

特殊簡便寫法:

@hourly 代表 0 * * * * ,每個小時運行一次

@daily 代表 0 0 * * * ,每天凌晨運行一次

@weekly 代表 0 0 * * 0 ,每周星期天凌晨運行一次

@monthly 代表 0 0 1 * * ,每個月第一天凌晨運行一次

@yearly 代表 0 0 1 1 * ,每年的頭一分鐘運行一次

@reboot 重啟后執行一次

例子:

每天凌晨運行一次

@daily command

你可以把需要每個小時運行一次的腳本放到/etc/cron.hourly目錄下,cron守護進程會每個小時都運行一次。

2.3.限制可以使用cron的用戶

在/etc/目錄下,可能默認會有cron.allow以及cron.deny文件,也可能沒有,沒有的情況下可以自己創建,cron.allow文件包含了可以使用cron的用戶名,cron.deny文件包含了不可以使用cron的用戶名。兩個文件中每個用戶名占一行,并且不允許出現空格。

root用戶在任何情況下都可以使用cron。

假如cron.allow存在,則只有列在這個文件中的用戶名可以使用cron,這時候cron.deny被忽視。

假如cron.allow不存在,則列在cron.deny文件中的用戶名不可以使用cron。

3.用anacron執行周期性的任務

anacron程序可以周期性的執行任務,但具體執行時間并不確定。可以每天、每周、每個月周期性的執行任務。當anacron的配置文件發生改變時,下一次anacron運行時會檢查到配置文件的變化。anacron的配置文件為/etc/anacrontab,編輯需要root權限,默認以下內容:

# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
#period in days delay in minutes job-identifier command
1  5  cron.daily    nice run-parts /etc/cron.daily
7  25  cron.weekly    nice run-parts /etc/cron.weekly
@monthly 45  cron.monthly   nice run-parts /etc/cron.monthly

可以看到前三行設置了默認環境,RANDOM_DELAY變量設置了最大延遲執行時間,START_HOURS_RANGE變量設置了anacron任務執行的時間范圍,默認在每天的3點到22點之間。最后三行則設置了三條默認的anacron任務,分別是每天執行,每周執行,每月執行。

3.1.anacron文件語法

觀察前面三條默認的anacron任務,可以看到一條anacron任務分為四個部分,從左到右依次為:

  • 周期(天):設置任務執行的頻率,以 天數 為單位,寫1則代表每天執行,寫3則代表每3天執行,可以使用特殊符號“@”, @daily 代表每天, @weekly 代表每周, @monthly 代表每月。
  • 延遲時間:設置任務的延遲時間,以 分鐘 為單位,比如寫5,則當anacron啟動后,anacron等待5分鐘就會執行該任務。設置延遲時間是為了當機器啟動時不會因為執行很多anacron任務而過載。
  • 任務標識:其目的是識別消息,日志文件和執行特殊操作。
  • 要執行的命令

在/etc/anacrontab中的三條默認anacron任務中,nice命令用來調整后面命令的優先級,run-parts命令用來執行設置的目錄下的所有腳本,就是說這三條任務分別每天,每周,每月執行/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly目錄下的腳本。所以我們不用自己往/etc/anacrontab中添加anacrontab任務,而只需把腳本放到相應的目錄下,anacron就會周期性的執行這些腳本了。

3.2.anacron如何運行

既然anacron不是守護進程,那它是如何做到周期性執行任務的呢?在centos7下,cron會運行/etc/cron.d/0hourly,在/etc/cron.d/0hourly文件里,有一條cron任務是這樣的:

01 * * * * root run-parts /etc/cron.hourly

這條cron任務會運行/etc/cron.hourly目錄下的所有腳本,其中有一個名為 0anacron 的腳本,該腳本則會在合適的時間運行anacron,anacron則會檢查/etc/anacrontab,在合適的時間分別運行/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly目錄下的腳本。

參考資料:

How to Schedule Job on Linux using Cron, Anacron and at Commands

How to use cron in Linux

總結

以上所述是小編給大家介紹的在linux上定期執行命令、腳本(cron,crontab,anacron),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Linux環境使用crontab命令設置定時周期性執行任務【含php執行代碼】
  • Linux crontab定時執行Shell腳本需要執行特定的命令時解決思路
  • Linux定時任務Crontab命令使用詳解與總結
  • Linux下的crontab定時執行任務命令詳解
  • Linux定時執行任務at和crontab命令詳解
  • Linux Crontab 啟動 、運行 和編輯 查看的命令
  • Linux crontab 命令格式與詳細示例(推薦)
  • Linux crontab 命令的使用

標簽:麗江 西寧 蚌埠 武威 紹興 迪慶 安康 日喀則

巨人網絡通訊聲明:本文標題《在linux上定期執行命令、腳本(cron,crontab,anacron)》,本文關鍵詞  在,linux,上,定期,執行,命令,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在linux上定期執行命令、腳本(cron,crontab,anacron)》相關的同類信息!
  • 本頁收集關于在linux上定期執行命令、腳本(cron,crontab,anacron)的相關信息資訊供網民參考!
  • 推薦文章
    91麻豆精品国产自产在线观看一区| 亚洲天堂免费观看| 毛片电影网| 99久久精品国产国产毛片| 午夜久久网| 日本伦理黄色大片在线观看网站| 欧美激情在线精品video| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 可以免费看毛片的网站| 一级女性大黄生活片免费| 成人影视在线观看| 国产成人精品综合| 国产不卡在线观看视频| 久草免费在线视频| 国产一级生活片| 成人免费福利片在线观看| 国产91素人搭讪系列天堂| 91麻豆精品国产自产在线| 欧美激情一区二区三区视频 | 日韩免费在线视频| 91麻豆国产级在线| 亚洲女初尝黑人巨高清在线观看| 香蕉视频三级| 亚洲 欧美 91| 国产成+人+综合+亚洲不卡| 国产91丝袜高跟系列| 一本高清在线| 青青久在线视频| 尤物视频网站在线观看| 91麻豆国产| 天天做日日爱| 国产一区二区精品久久91| 毛片成人永久免费视频| 91麻豆精品国产自产在线| 黄视频网站在线免费观看| 亚洲精品中文字幕久久久久久| 欧美另类videosbestsex久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美1卡一卡二卡三新区| 成人免费观看网欧美片| 日韩在线观看免费| 午夜在线亚洲| 精品国产一区二区三区久久久狼| 色综合久久天天综线观看| 日韩男人天堂| 成人影视在线播放| 精品久久久久久中文字幕一区| 91麻豆国产级在线| 国产视频久久久| 在线观看成人网 | 日韩在线观看视频黄| 九九热国产视频| 国产成人啪精品| 91麻豆精品国产片在线观看| 国产美女在线观看| 精品国产香蕉在线播出| 午夜精品国产自在现线拍| 一级女性全黄生活片免费| 亚洲精品久久久中文字| 国产91素人搭讪系列天堂| 国产一区二区精品| 二级特黄绝大片免费视频大片| 精品美女| 免费一级生活片| 欧美国产日韩久久久| 午夜激情视频在线观看 | 国产极品白嫩美女在线观看看| 午夜在线影院| 国产伦久视频免费观看 视频| 九九久久国产精品大片| 99久久网站| 台湾毛片| 青青青草视频在线观看| 欧美1区| 日日夜人人澡人人澡人人看免| 欧美激情影院| 国产成人啪精品| 国产美女在线观看| 欧美另类videosbestsex| 一级毛片视频免费| 毛片电影网| 免费国产在线观看| 台湾毛片| 国产视频在线免费观看| 国产高清在线精品一区a| 二级特黄绝大片免费视频大片| 日本免费乱人伦在线观看| 精品视频免费看| 欧美18性精品| 日本免费看视频| 成人影院一区二区三区| 韩国毛片| 国产麻豆精品高清在线播放| 色综合久久天天综合绕观看| 精品在线视频播放| 久久久成人影院| 99色播| 免费一级生活片| 久久国产一区二区| 天天做日日爱夜夜爽| 欧美激情一区二区三区视频 | 毛片电影网| 国产视频一区二区在线播放| 九九久久国产精品大片| 欧美激情一区二区三区视频| 免费一级片在线| 久久精品大片| 国产国语在线播放视频| 国产伦理精品| 成人a大片高清在线观看| 黄色短视频网站| 美女免费毛片| 日韩一级精品视频在线观看| 国产高清视频免费| 国产成人精品综合在线| 欧美激情伊人| 中文字幕一区二区三区 精品| 国产一区二区精品| 午夜欧美福利| 99热精品一区| 成人免费网站视频ww| 精品国产一区二区三区精东影业 | 国产一区二区高清视频| 久久久成人网| 一级女性全黄久久生活片| 日韩男人天堂| 精品久久久久久中文字幕一区| 欧美a免费| 日韩欧美一二三区| 久久精品大片| 精品久久久久久中文字幕一区 | 久久国产精品自由自在| 91麻豆精品国产自产在线观看一区| 香蕉视频一级| 精品在线观看一区| 国产91精品系列在线观看| 欧美大片aaaa一级毛片| 日韩中文字幕一区| 亚洲天堂在线播放| 亚洲精品中文一区不卡| 99热精品一区| 欧美一区二区三区在线观看| 九九久久99| 免费的黄视频| 国产视频久久久久| 免费的黄视频| 国产成人女人在线视频观看 | 99热热久久| 91麻豆精品国产综合久久久| 天天做人人爱夜夜爽2020 | 欧美大片毛片aaa免费看| 精品久久久久久免费影院| 青青久在线视频| 国产91素人搭讪系列天堂| 人人干人人草| 国产福利免费视频| 色综合久久手机在线| 日韩免费在线视频| 欧美一区二区三区在线观看| 日本特黄特色aa大片免费| 一级女性全黄久久生活片| 一本伊大人香蕉高清在线观看| 国产视频一区在线| 精品国产三级a| 日本在线不卡免费视频一区| 美女免费黄网站| 精品久久久久久中文| 91麻豆tv| 日韩在线观看视频免费| 国产成人精品综合在线| 午夜在线亚洲| 国产视频久久久久| 国产成人精品综合久久久| 午夜欧美福利| 一级毛片视频播放| 欧美日本免费| 国产麻豆精品免费视频| 国产伦久视频免费观看 视频| 国产a视频精品免费观看| 999精品在线| 九九久久99综合一区二区| 97视频免费在线| 亚洲第一色在线| 欧美激情中文字幕一区二区| 久久福利影视| 九九久久国产精品大片| 香蕉视频久久| 午夜在线亚洲| 一级女性全黄久久生活片| 91麻豆精品国产自产在线观看一区| 欧美电影免费看大全| 日韩免费片| 久久久久久久免费视频| 日韩在线观看视频网站| 成人免费高清视频| 成人高清护士在线播放| 九九免费高清在线观看视频| 香蕉视频三级| 你懂的国产精品| 国产一级生活片|