第五周學習總結–任務計劃

寫在前面

隨著學習的不斷深入,漸漸的已經意識到不再是開始一天只知道幾個簡單的命令而已了,但是呢,命令還必須要繼續學習的,修房子哪有不用磚的,所以,要想有一棟堅實穩固的房子,還必須靜下心來繼續認識命令。

命令注解

今天要講的幾個命令是跟工作息息相關的,他們都是在以后的生活中使用率比較高的命令之一,比如馬上要講的這個,如果你的老板讓你在每天凌晨三點執行一次數據備份,你難道真的三點起床備份完再去睡覺么?我想你肯定不想也不希望這樣,那么下面這個命令就要學好了。

任務計劃是在未來的某個時間點或周期性的時間點上執行我們預先設定好的可執行任務,讓系統自動運行,而不用人工干預執行。這種執行也分為一次執行和周期性執行,一次執行最常用的要數at命令,而周期性的執行命令則是crontab。? at的使用方法也非常簡單,基本的使用方法為:

at [OPTIONS] TIME

常用選項:

  • -l:用于查看作業隊列;
  • -f ?FILE_NAME:從指定文件中讀取作業任務;
  • -d #:刪除指定的作業;
  • -c:查看指定作業的具體內容;
  • -q QUEUE:指明隊列

at命令允許使用一套相當靈活的指定時間的方法。能夠接受hh:mm(小時:分鐘)式的時間指定,也能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的時間來指定。用戶還能夠采用12小時計時制,即在時間后面加上AM(上午)或PM(下午)來說明是上午還是下午,還能夠指定命令執行的具體日期,指定格式為month?day(月?日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。 上面介紹的都是絕對計時法,其實at還支持使用相對計時法,這對于安排不久就要執行的命令是很有好處的。指定格式為:now?+?count?time-units?,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,究竟是幾天,還是幾小時,等等。?更有一種計時方法就是直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。因此TIME的格式有如下常用指定方法:

  • HH:MM:在今日的?HH:MM?時刻進行,若該時刻已超過,則明天的?HH:MM?進行此任務;
  • HH:MM?YYYY-MM-DD:在某年某月的某一天的特殊時刻進行該項任務;
  • noon,midnight,teatime:指定模糊的時間方式;
  • tomorrow:直接指定明天;
  • now+#[minutes|hours|days|weeks]:從現在開始以后的多長時間;

另一個任務計劃則是周期性的執行任務crontab命令,cron分為系統任務和用戶任務,系統任務主要是用于系統自身的維護,而用戶任務則是用戶自定義的為了完成某一特定的工作。所有用戶定義的任務都被保存在?/var/spool/cron目錄中與用戶名同名的文件中,每一行代表一個任務計劃,共有六個字段,前五個字段是時間,最后一個是命令段:

501

在以上的時間段中,可以有如下取值方法:

  • 特定值:給定時間點有效取值范圍內的值;
  • *:給定時間點上有效取值范圍內的所有值:表“每……”;
  • ,:給定時間點上使用逗號分隔的多個值;
  • -:在時間點上使用-連接開頭和結束,表示一個范圍;
  • */#:在指定時間點上,定義步長,#即步長;

cron任務還可以通過命令行的方式指定,即使用crontab命令:

crontab [OPTIONS]

常見的有如下選項:

  • -e:編輯任務;
  • -l:列出所有任務;
  • -r:移除所有任務;
  • -i:在使用-r選項移除所有任務時提示用戶確認;
  • -u user:root用戶可為指定用戶新建cron任務;

使用練習

有了上面的儲備知識,還是來練習提升一下吧。

1、制定每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-
28 10:00:00。

使用crontab -e打開命令行操作窗口,完成如下信息輸入:

502

503

寫在最后

上面的內容只是作了簡單的介紹,練習也只貼出了一個,如果您覺得不夠盡興,可以通過網絡途徑獲取更多練習,提升一下自己。

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90613

(0)
蟲草君蟲草君
上一篇 2017-12-28 21:02
下一篇 2017-12-30 14:42

相關推薦

  • 第三周博客作業

    who useradd usermod groupadd

    Linux干貨 2017-12-17
  • Tomcat基礎及常見使用入門

    Tomcat的簡單介紹,安裝,以及簡單的配置運用

    2017-09-11
  • 馬哥教育面授班22期:第一天課程練習

    Linux發展史:        1984年:Richard Stallman發起GNU項目和自由軟件基金會創建開源的UNIX實用工具版本        創建通用公共許可證(GPL)        1991年:Linux Torvalds發…

    Linux干貨 2017-05-16
  • Lvm的創建

    一、LVM相關基礎: ????PE:類似與磁盤的block,這個的大小也會影響VG的大小 ????PV:是磁盤分區或邏輯上與磁盤分區具有相同功能的設備(RAID),是LVM的基本存儲模塊,但與基本的物理存儲模塊相比,卻包含有lvm相關的參數 ????VG:類似于非lvm系統中的物理磁盤,包含多個pv ????LV:類似于非lvm系統中的磁盤分區 ? PV相關…

    2016-04-10
  • 基于Redis的開源分布式服務Codis

    Redis在豌豆莢的使用歷程——單實例==》多實例,業務代碼中做sharding==》單個Twemproxy==》多個Twemproxy==》Codis,豌豆莢自己開發的分布式Redis服務。在大規模的Redis使用過程中,他們發現Redis受限于多個方面:單機內存有限、帶寬壓力、單點問題、不能動態擴容以及磁盤損壞時的數據搶救。 Redis通常有3個使用途徑…

    Linux干貨 2015-02-25
  • TIME_WAIT引起Cannot assign requested address報錯

    1.  問題描述      有時候用redis客戶端(php或者java客戶端)連接Redis服務器,報錯:“Cannot assign requested address?!?     原因是客戶端頻繁的連接服務器,由于每次連接都在很短時間內結束,導致很多的TIME_WAIT。所以新的連…

    Linux干貨 2016-03-09

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-01-07 18:06

    贊~內容上雖然不多,但有自己的思考點在里面~還是不錯的,繼續加油~

欧美性久久久久