Linux11 Linux計畫任務

2022-09-09 18:42:20 字數 3832 閱讀 8795

計畫任務的分類:

設定計畫任務的工具:at、crontab

系統服務路徑:/etc/init.d/atd

# root @ duiyi in ~ [20:24:36] 

$ systemctl start atd

# root @ duiyi in ~ [20:25:11]

$ systemctl status atd

● atd.service - job spooling tools

loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)

active: active (running) since mon 2019-08-19 18:18:28 cst; 2 days ago

main pid: 457 (atd)

cgroup: /system.slice/atd.service

└─457 /usr/sbin/atd -f

aug 19 18:18:28 duiyi systemd[1]: starte...

aug 19 18:18:28 duiyi systemd[1]: starti...

hint: some lines were ellipsized, use -l to show in full.

# root @ duiyi in ~ [20:25:45]

$ at 20:50

at> reboot

at> job 4 at wed aug 21 20:50:00 2019

at [option] time
-v:顯示版本資訊:

-l:列出指定佇列中等待執行的作業;相當於atq(若計畫被執行,則任務結束,不會再顯示在列表)

-d:刪除指定的作業;相當於atrm

-f:/path/from/somefile:從指定的檔案中讀取任務

-m:當任務被完成之後,將給使用者傳送郵件,即使沒有標準輸出

time:定義任務執行時間

hh:mm [yyyy-mm-dd]

noon, midnight, teatime(4pm)

tomorrow

now+#

示例

at 02:00 #今天2點執行該項任務,若2點已過,則明天2點執行

at 02:00 2019-08-22 #2023年8月22號2點執行該項任務

at now +1 minutes/hours/days/weeks # 一分鐘/一小時/一天/一周後執行該項任務

at 17:20 tommorrow #明天的17:20執行該項任務

互動式輸入重定向

at –f 檔案

說明

cronie: 主程式包,提供crond守護程序及相關輔助工具

cronie-anacron:cronie的補充程式,用於監控cronie任務執行狀況,如cronie中的任務在過去該執行的時間點未能正常執行,則anacron會隨後啟動一次此任務

crontabs:包含centos提供系統維護任務

計畫週期性執行的任務提交給crond,到指定時間會自動執行

例如:晚上9點10分執行echo命令

10 21 * * * root /bin/echo 「hello world!」

特定值:給定時間點有效取值範圍內的值

*:給定時間點上有效取值範圍內的所有值,表示「每…」

離散取值:#,#,# 如:1,3,5

連續取值:#-# 如:1-5

在指定時間範圍上,定義步長:

/#: #即為步長 即:/5 5就表示步長

@reboot run once after reboot.

@yearly 0 0 1 1 *

@annually 0 0 1 1 *

@monthly 0 0 1 * *

@weekly 0 0 * * 0

@daily 0 0 * * *

@hourly 0 * * * *

示例:每3小時echo和wall命令

0 */3 * * * centos /bin/echo 「hello」;/usr/bin/wall 「welcome to magedu!」

執行計算機關機時cron不執行的任務,centos6以後的版本取消了anacron服務,由crond服務管理 對膝上型電腦、台式電腦、工作站、偶爾要關機的伺服器及其它不一直開機的系統很重要對很有用

配置檔案:/etc/anacrontab,負責執行/etc/ cron.daily /etc/cron.weekly /etc/cron.monthly中系統任務。

欄位1:如果在這些日子裡沒有執行這些任務……

欄位2:在重新引導後等待這麼多分鐘後執行它

欄位3:任務識別器,在日誌檔案中標識

欄位4:要執行的任務

由/etc/cron.hourly/0anacron執行

當執行任務時,更新/var/spool/anacron/cron.daily 檔案的時間戳

centos7使用/etc/cron.daily/tmpwatch定時清除臨時檔案

centos7使用systemd-tmpfiles-setup服務實現

crontab命令定義,每個使用者都有專用的cron任務檔案:/var/spool/cron/username

crontab命令:(支援普通使用者)

crontab [-u user] [-l | -r | -e] [-i]

-l:列出所有任務

-e: 編輯建立任務

編寫的任務存放在/var/spool/cron 下

-r: 移除所有任務

-i:同-r一同使用,以互動式模式移除指定任務

-uuser: 僅root可執行,指定使用者管理cron任務

:crontab -l -u wang = cat wang

預設用vi開啟,如果想讓命令以帶顏色的方式展現,可以輸入export editor=vim >> /etc/profile.d/cron.sh就可以了。

控制使用者執行計畫任務:/etc/ cron.allow 、/etc/cron.deny

在at和crontab中不要使用標準輸出,因為即使沒有標準輸出,也會以郵件方式傳送給你,所以盡量不使用標準輸出,可以 &> /dev/null中 (根使用者能夠修改其它使用者的作業)即:執行結果的標準輸出和錯誤以郵件通知給相關使用者

command > /dev/null

command &> /dev/null

對於cron任務來講,%有特殊用途;如果在命令中要使用%,則需要轉義,將%放置於單引號中,則可不用轉義

Linux 11 Linux使用者組管理學習

7.小結 語法 groupmod 引數選項 新值 原組名稱 etc shadow中的記錄行與 etc passwd中的一一對應,它由pwconv命令根據 etc passwd中的資料自動產生 它的檔案格式與 etc passwd類似,由若干個字段組成,字段之間用 隔開。這些欄位是 登入名 是與 et...

windows計畫任務和linux計畫任務

有時候需要定時執行任務,如果寫乙個死迴圈在那裡等待,算是乙個方案,但總是覺得有那麼一點不好,既然作業系統為我們提供了計畫任務,為什麼不用呢?如果不用別人的東西,基本上會有三個原因 一 不知道有那個東西。二 覺得那個東西不易用。三 沒有自己的方案好。關於計畫任務完全可以排除以上三點原因,所以還是應該用...

Linux入門到放棄之八《任務計畫管理》

任務計畫管理 1.每週一下午5 50將 data目錄下的所有目錄和檔案歸檔並壓縮為 backup.tar.gz 放在 home backup目錄下。先新建 data目錄,並在目錄中隨意生成幾個檔案 建立計畫任務 命令 crontab e 輸入以下內容 檢視計畫任務 命令 crontab l 2.每天...