校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > shell之定時周期性執行腳本的方法示例

shell之定時周期性執行腳本的方法示例

熱門標簽:黑暗之魂3地圖標注 電話機器人對家居行業幫助大嗎 如何申請400的電話呀 地圖標注審核周期 沈陽ai電銷智能機器人 AI智能電銷機器人壞處 合肥電銷外呼系統供應商 電商外呼系統排名 蘭州電銷機器人加盟

示例

1.編寫測試腳本腳本 time .sh

$ cat time.sh 
#! /bin/bash
echo $(date +%s) >> /home/ocean/out.txt

保存完畢后記得給予權限 chmod 777 test.sh

2.添加定時任務

$ crontab -e
no crontab for ocean - using an empty one

Select an editor. To change later, run 'select-editor'.
 1. /bin/nano    ---- easiest
 2. /usr/bin/vim.tiny
 3. /bin/ed

內容編輯為:每一分鐘執行一次

# m h dom mon dow  command
 * * * * * /home/ocean/workspaces/shell/time.sh

3.查看定時任務是否添加成功

$ crontab -l 

4.重啟cron:新加入的定時任務不會馬上執行,一般要等一會兒,除非你重啟服務器

$ sudo service cron restart 

注意,新創建的cron作業,不會馬上執行,至少要過2分鐘才執行。如果重啟cron服務則會馬上執行。

5. 查看執行結果

$ cat out.txt
1552543807
1552543861
1552543921
1552543981
1552544041
1552544101

原理

ubuntu默認安裝了cron,是開機自啟動的。

當cron啟動后,它會讀取它的所有配置文件,然后cron會根據命令和執行時間來調度工作任務。

cron有兩個配置文件,一個是一個全局配置文件(/etc/crontab),是針對系統任務的;一組是crontab命令生成的配置文件(/var/spool/cron下的文件),是針對某個用戶的.定時任務配置到任意一個中都可以。

每個用戶的計劃任務配置文件

$ ls -l /var/spool/cron/
total 4
drwx-wx--T 2 root crontab 4096 Nov 16 2017 crontabs

備注:這個歌目錄下只會有一個crontabs,就算新添加其他計劃,也只會有一個。

全局性配置文件

$ cat /etc/crontab 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root  cd /  run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd /  run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd /  run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd /  run-parts --report /etc/cron.monthly )

ununtu 通過調用 run-parts 命令,定時運行四個目錄下的所有腳本。
1)/etc/cron.hourly,目錄下的腳本會每個小時讓執行一次,在每小時的17分鐘時運行;
2)/etc/cron.daily,目錄下的腳本會每天讓執行一次,在每天的6點25分時運行;
3)/etc/cron.weekly,目錄下的腳本會每周讓執行一次,在每周第七天的6點47分時運行;
4)/etc/cron.mouthly,目錄下的腳本會每月讓執行一次,在每月1號的6點52分時運行;
 當然,以上的時間均是系統默認時間,可以根據自己的需求進行修改。

corn程序會在后臺運行并且檢查cron時間表,以獲知已安排執行的主頁。

開啟關閉cron

命令 作用
sudo service cron status 查看cron狀態
sudo /etc/init.d/cron start 啟動cron
sudo /etc/init.d/cron stop 關閉cron
sudo /etc/init.d/cron restart 重啟cron

cron時間表

為cron時間表添加條目, 其格式為

min hour dayofmonth month dayofweek command

分布代表分 時 天 月 星期幾 數值范圍分別是 0-59: 0-23 :1-31: 1-12: 0-7

記住幾個特殊符號的含義:

  •  星號(*):代表所有可能的值,舉個例子,在小時字段中,一個星號等同于每個小時;在月份字段中,一個星號則等同于每月。
  •  逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9”
  •  中杠(-):可以用整數之間的中杠表示一個整數范圍,例如“2-6”表示“2,3,4,5,6”
  •  正斜線( / ):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執行一次。

corn時間表例子:

  •  * * * * * test .sh 每分鐘執行一次 test .sh
  •  */5 * * * * test .sh 每5分鐘執行一次 test .sh
  •  0 */2 * * * test .sh > out 每兩小時執行一次test.sh并將結果存入out中
  •  00 00 * * * /home/rich/test.sh 每天的凌晨0:0分執行
  •  30 21 * * * /home/rich/test.sh 每天的21:30分執行
  •  15 16 * * 1 command 每周一16:15 運行命令
  •  00 12 1 * * command 每個月的1號的中午12:00點執行命令
  •  00 8* * * if [date +%d -d tomorrow = 01 ] ; then ; command 每個月的最后一天8點執行命令

可以用三字符的文本值(mon、tue、wed、thu、fri、sat、sun)或數值(0為周日,6為周六)
 來指定dayofweek表項。

cron目錄

如果腳本對精確的執行時間要求不高,用預配置的cron腳本更方便

$ ls /etc/cron.*ly
/etc/cron.daily:
0anacron apt-compat  cracklib-runtime logrotate mlocate popularity-contest   update-notifier-common
apport  bsdmainutils dpkg       man-db   passwd  ubuntu-advantage-tools

/etc/cron.hourly:

/etc/cron.monthly:
0anacron

/etc/cron.weekly:
0anacron man-db update-notifier-common

比如,如果腳本每天運行一次,只要將腳本復制到daily目錄,cron就會每天執行它【根據/etc/crontab下配置的時間】

anacron

缺點:cron可以執行一些定時任務,但是如果這個時間點來了,但是此時linux系統正在關機中,那么這個定時任務不能執行。即使系統再次開機,cron也不會去執行哪些已經錯過了的程序。

解決:anacron,開機時會自動運行關機期間的作業。前提是這個程序位于cron目錄之下。

應用場景:anacron 用于以天為單位的頻率運行命令。它的工作與 cron 最大的不同在于,它假設機器不會一直開機。

anacron 工作原理

anacron 的任務被列在/etc/anacrontab

sudo cat /etc/anacrontab
[sudo] password for ocean: 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly

ununtu 通過調用 run-parts 命令,定時運行3個目錄下的所有腳本。

從上面可以看出,anacron 的運行頻率的最小時間是天。 【cron是分鐘】

$ ls -l /var/spool/anacron/
total 12
-rw------- 1 root root 9 Jun 1 10:25 cron.daily
-rw------- 1 root root 9 May 27 11:01 cron.monthly
-rw------- 1 root root 9 May 30 10:28 cron.weekly

anacron 程序使用自己的時間表來檢查工作目錄

時間表格式

period delay identifier command

  • period - 這是任務的頻率,以天來指定,或者是@daily 、@weekly、@monthly 代表每天、每周、每月一次。你也可以使用數字:1 - 每天、7 - 每周、30- 每月,或者N - 幾天。 anacron程序用此條目來檢查作業的時間戳文件
  • delay - 這是在執行一個任務前等待的分鐘數。
  • identifier - 條目是一種特別的非空字符串,如cron-weekly。它用于唯一標識日志消息和錯誤郵件中的作業。
  • command - 這是要執行的命令或 shell 腳本。

anacron 會檢查任務是否已經在period字段執行的時間被執行了,如果沒有,則等待delay字段中指定的分鐘數后,執行command字段中指定的命令。

一旦任務被執行,它會使用 job-id (時間戳文件名)字段中指定的名稱將日期記錄在 /var/spool/anacron 目錄中的時間戳文件中。

cron VS anacron

cron是linux自帶的守護進程,用來重復運行哪些被設定好了確定的運行時間的任務,如果機器處于關機狀態并錯過了任務執行時間,這個任務就無法執行了
crontab(cron table的簡稱)既可以指cron用來定期執行特定任務所需要的列表文件,又可以指用來創建、刪除、查看當前用戶(或者指定用戶)的crontab文件的命令。
anacron不是守護進程,可以看做是cron守護進程的某種補充程序,anacron是獨立的linux程序,被cron守護進程或者其他開機腳本啟動運行,可以每天、每周、每個月周期性地執行一項任務(最小單位為天)。適合于可能經常會關機的機器,當機器重新開機anacron程序啟動之后,anacron會檢查anacron任務是否在合適的周期執行了,如果未執行則在anacron設定好的延遲時間之后只執行一次任務,而不管任務錯過了幾次周期。舉個例子,比如你設定了一個每周備份文件的任務,但是你的電腦因為你外出度假而處于關機狀態四周,當你回到家中開機后,anacron會在延遲一定時間之后只備份一次文件。由于發行版的不同,cron守護進程如何運行anacron會有所不同。

cron anacron
它是守護進程 它不是守護進程
適合服務器 適合桌面/筆記本電腦
可以讓你以分鐘級運行計劃任務 只能讓你以天為基礎來運行計劃任務
關機時不會執行計劃任務 如果計劃任務到期,機器是關機的,那么它會在機器下次開機后執行計劃任務
普通用戶和 root 用戶都可以使用 只有 root 用戶可以使用(使用特定的配置啟動普通任務)

cron 和 anacron 主要的區別在于 cron 能在那些持續運行的機器上有效地運行,而 anacron 是針對那些會在一天內或者一周內會關機的機器。

參考:
https://blog.csdn.net/qq_32693119/article/details/79816097
 https://www.cnblogs.com/daxian2012/articles/2589894.html
 https://www.cnblogs.com/zhoul/p/9931664.html
 https://www.linuxprobe.com/cron-anacron-work.html

到此這篇關于shell之定時周期性執行腳本的方法示例的文章就介紹到這了,更多相關shell 定時周期性執行腳本內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Linux crontab定時執行Shell腳本需要執行特定的命令時解決思路
  • 使用Linux shell腳本實現FTP定時執行批量下載指定文件

標簽:黔南 河北 河池 黔南 常州 隴南 淮南 通遼

巨人網絡通訊聲明:本文標題《shell之定時周期性執行腳本的方法示例》,本文關鍵詞  shell,之,定時,周期性,執行,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell之定時周期性執行腳本的方法示例》相關的同類信息!
  • 本頁收集關于shell之定時周期性執行腳本的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    av电影在线观看完整版一区二区| 在线观看欧美日本| 黑人巨大精品欧美黑白配亚洲| 蜜臀久久久久久久| 粉嫩高潮美女一区二区三区 | 日本一区二区电影| 国产精品久久久久久久久快鸭 | 久久久精品欧美丰满| 亚洲视频一二区| 婷婷中文字幕综合| 丰满岳乱妇一区二区三区| 欧美色涩在线第一页| 精品国产91乱码一区二区三区| 久久嫩草精品久久久久| 一区二区三区波多野结衣在线观看| 日韩av二区在线播放| 成人综合婷婷国产精品久久蜜臀| 在线观看一区不卡| 久久精品日产第一区二区三区高清版| 亚洲精品欧美在线| 国产乱妇无码大片在线观看| 欧美日韩一区视频| 亚洲欧美一区二区三区久本道91| 天涯成人国产亚洲精品一区av| 国产a视频精品免费观看| 欧美精品乱码久久久久久| 国产精品日韩精品欧美在线| 六月丁香综合在线视频| 91黄视频在线观看| 国产精品麻豆视频| 日韩专区一卡二卡| 一本高清dvd不卡在线观看| 国产亚洲污的网站| 久久97超碰国产精品超碰| 欧美亚洲综合一区| 亚洲另类在线制服丝袜| 成人免费高清在线| 久久久久97国产精华液好用吗| 亚洲国产精品影院| 在线看不卡av| 亚洲精品欧美在线| 国产成人精品影视| 精品剧情v国产在线观看在线| 石原莉奈在线亚洲二区| 欧美在线观看视频在线| 亚洲少妇屁股交4| 粉嫩aⅴ一区二区三区四区五区| 欧美r级在线观看| 亚洲综合一区二区| 欧美视频一区二| 亚洲综合精品自拍| 欧美日韩一区不卡| 亚洲va国产va欧美va观看| 在线精品视频免费观看| 亚洲一区二区五区| 欧美妇女性影城| 天天综合色天天综合色h| 欧美日韩精品二区第二页| 亚洲欧美日韩一区二区三区在线观看 | 《视频一区视频二区| 91麻豆成人久久精品二区三区| 国产精品久久久久久亚洲毛片| 成人av电影在线| 中文在线资源观看网站视频免费不卡| 国产91丝袜在线播放0| 中文字幕在线免费不卡| 91免费视频观看| 久久er精品视频| 亚洲美女免费在线| 精品va天堂亚洲国产| 色猫猫国产区一区二在线视频| 蜜臀a∨国产成人精品| 国产精品天天看| 9191成人精品久久| 成人黄色在线视频| 六月丁香综合在线视频| 亚洲男女毛片无遮挡| 精品欧美乱码久久久久久1区2区| av不卡免费电影| 国产在线视频不卡二| 亚洲欧美日韩在线| 久久久影院官网| 欧美乱熟臀69xxxxxx| 91亚洲男人天堂| 国产精品18久久久久久久网站| 亚洲在线视频网站| 中文字幕不卡在线| 久久一区二区三区四区| 9191国产精品| 欧美亚洲国产一卡| va亚洲va日韩不卡在线观看| 七七婷婷婷婷精品国产| 亚洲一区二区三区国产| 国产偷v国产偷v亚洲高清| 91精品欧美一区二区三区综合在| 成人ar影院免费观看视频| 久草在线在线精品观看| 首页综合国产亚洲丝袜| 一区二区三区在线视频观看| 日本一区二区三区国色天香 | 日本一区二区三区四区在线视频| 宅男噜噜噜66一区二区66| 欧美在线不卡视频| 在线观看三级视频欧美| 91香蕉视频在线| 99久久精品免费| 波多野结衣亚洲| av电影天堂一区二区在线观看| 国产成人av电影在线播放| 国产一区二区电影| 国产高清在线观看免费不卡| 精品一区二区三区视频 | 亚洲午夜在线视频| 亚洲国产日韩综合久久精品| 最新不卡av在线| 亚洲视频一区二区在线| 综合av第一页| 伊人婷婷欧美激情| 一区二区三区av电影| 亚洲五月六月丁香激情| 亚洲高清免费一级二级三级| 亚洲一区欧美一区| 亚洲一区二区欧美| 全部av―极品视觉盛宴亚洲| 热久久免费视频| 国产美女在线精品| 成人美女视频在线看| 99久久精品国产一区二区三区| 91女人视频在线观看| 欧美日韩中文精品| 欧美变态tickle挠乳网站| 久久久亚洲精品石原莉奈| 国产精品网站在线播放| 亚洲精品乱码久久久久久 | 国产福利一区二区三区视频在线| 丰满少妇在线播放bd日韩电影| 色综合久久综合网欧美综合网| 日本韩国欧美三级| 91麻豆精品国产自产在线观看一区 | 日本一区二区免费在线观看视频 | 亚洲影视在线播放| 麻豆91精品91久久久的内涵| 国产美女在线精品| 一本色道久久综合亚洲aⅴ蜜桃| 欧美日韩国产综合一区二区 | 成人一区二区三区视频在线观看| 本田岬高潮一区二区三区| 欧美日韩一区小说| 久久亚洲综合av| 亚洲一区二区三区四区的| 久草中文综合在线| 在线观看视频一区二区| 2024国产精品视频| 亚洲一区二区欧美激情| 国产精品资源网站| 欧美视频三区在线播放| 久久久亚洲午夜电影| 亚洲国产精品麻豆| 国产成人综合视频| 欧美日韩精品久久久| 国产精品乱码人人做人人爱| 五月天欧美精品| av色综合久久天堂av综合| 欧美高清激情brazzers| 亚洲区小说区图片区qvod| 久久丁香综合五月国产三级网站 | 欧美精品一区二区三区蜜桃 | 国产中文字幕一区| 欧美日韩国产三级| 亚洲欧洲制服丝袜| 丰满少妇久久久久久久| 日韩免费电影网站| 亚洲1区2区3区视频| 99国产精品一区| 久久久久久久一区| 日韩在线一区二区| 色呦呦日韩精品| 国产精品国产三级国产普通话蜜臀| 日本不卡在线视频| 欧美午夜精品电影| 亚洲女同ⅹxx女同tv| 成人午夜激情在线| 精品国产亚洲一区二区三区在线观看 | 国产性做久久久久久| 免费观看在线色综合| 欧美三级电影精品| 亚洲成人一区二区| 色域天天综合网| 亚洲日本va午夜在线电影| 成人在线综合网| 国产精品久久午夜夜伦鲁鲁| 精品一区二区久久久| 日韩精品中文字幕在线不卡尤物 | 韩国精品在线观看| 精品久久久久久久久久久久久久久 | 日韩欧美资源站| 麻豆精品久久精品色综合| 日韩午夜精品电影| 蜜桃视频一区二区| 精品国产伦一区二区三区免费 |