1. 程式人生 > >Linux之計劃任務

Linux之計劃任務

計劃任務特性

1. 需要在指定的某時間段執行
2. 需要將任務結果郵件通知使用者
3. 單次任務及迴圈任務區別

Linux計劃任務的實現工具

1. at工具
  • 其只能執行一次性任務
  • 其會自動載入部分環境變數
  • 可以執行命令
  • 可以執行指令碼
  • 作業有佇列,用單字母表示,預設為a佇列
  • 作業計劃任務是以絕對序列值進行排序
  • 任務結果會以郵件的形式通知使用者
2. batch工具
  • 其使用方法與at工具類似
  • 最大的區別為:它會選擇系統在比較空閒的時間段執行任務
3. crontab命令
  • 其可以迴圈執行任務,實現週期性任務
  • 最小時間單位為分鐘,如果需要到級別,需要你是用外部機制
  • 可以執行命令
  • 可以執行指令碼
  • 每次的任務都會發送郵件至使用者通知
  • 其依賴於crond守護程序及相關輔助工具,cronie是其主程式包

一、at工具

synopsis: at [OPTIONS]...time

  • [time]格式

    • HH:MM[YYYY-mm-dd]
      • 20:10 2015-10-30
    • noon : 正午
    • midnight : 午夜
    • teatime : 下午4點
    • tomorrow : 明天
    • now +# UNIT
        * UNIT: min,hours,days,weeks
  • [options]

    • -l : 列出任務佇列,相當於atq
      命令
    • -f FILE : 從指定檔案中讀取作業任務,不用互動式輸入
      • at -f at.sh now+5min
    • -d # : 刪除任務
      • at -d 3 ==    atrm 3 :刪除第3號任務
    • -c # : 檢視指定任務的內容
    • -q a|b|c|d : 指定預設佇列

二、crontab工具

cron任務的分類
  • 系統cron任務
    • 配置檔案
      • /etc/crontab
    • 配置命令
      • 直接編輯/etc/crontab檔案
  • 使用者cron任務(root使用者也不例外)
    • 配置檔案
      • /var/spool/cron/USERNAME
    • 配置命令
      • crontab -e
/etc/crontab檔案的格式

每一行定義一個週期性任務
此處的環境變數不同於使用者登入後獲得的環境,因此,建議命令使用絕對路徑,或自定義path環境變數
執行結果郵件傳送給想著使用者,即mailto=中定義的使用者
普通使用者不需要定義mailto引數,因為他的任務檔案就以使用者名稱命名
共7個欄位
如果命令中有%這類的符號,需要轉義,但旋轉到單引號中的不用轉義

 crontab命令:

synopsis - crontab [-u user] [-l | -r | -e] [-i] [-s]
[options]
-e : 編輯任務,建議使用crontab -e,這樣可以幫忙檢查其錯誤
-l : 列出所有任務
-r : 移除所有任務,即刪除對應/var/spool/cron/USERNAME檔案
-i : 互動式,在使用-r刪除所有使用者時,提示使用者確認
-u USER : root使用者可以為指定的使用者管理、指定任務

 注意:執行結果會以郵件方式通知當前使用者,如果拒絕接收郵件,可以會導致未備份成功卻沒有任何訊息反饋的情況,建設如下操作:

COMMAND > /dev/null : 將正確結果刪除,只返回錯誤輸出併發送郵件至使用者
COMMAND &> /dev/null : 不建議此操作
指定的某任務在指定的時間因關機未能執行,下次開機不會自動執行
如果某時間點因故未能按時執行,下次開機後無論是否到了相應時間點,都要補充執行一次,可使用anacron實現
每12小時備份一次/etc目錄至/backups目錄中,儲存格式為etc-yyy-mm-dd-hh.tar.xz”
01 */12 * * * root tar Jcf /backups/etc-$(date +"\%F-\%H-\%S").tar.xz /etc/
每週2、4、7備份/var/log/secure檔案至/logs目錄中,檔名格式為 secure-yyyymmdd
01 09 * * 2,4,7 root tar Jcf /logs/secure-$(date +"\%Y\%m\%d") /var/log/secure
每兩個小時取當前系統/proc/meminfo檔案中以S或M開頭的行資訊追加至/tmp/meminfo.txt檔案中
01 */2 * * * root grep '^[M\|S]' /proc/meminfo > /tmp/meminfo.txt

相關推薦

(18)linux計劃任務

一次 清空 時間同步 star /etc/ linux 計劃 rep wid 一次性計劃任務   at 指定時間執行特定命令   用法:at [ 時間 ]   舉例:     at 9:00 #指定在當天早上9點執行計劃任務     at > cp /

Linux計劃任務服務

據說有經驗的運維都是提前寫完指令碼然後有計劃的實施來完成工作,這麼厲(裝)害(B)的命令,不得不學呀! at 命令 計劃分兩種一種是臨時的一次性的,就執行這一次,命令是at,at命令可能不是所有發行版本都支援的,我在centos6版本就說

Linux計劃任務

計劃任務特性 1. 需要在指定的某時間段執行 2. 需要將任務結果郵件通知使用者 3. 單次任務及迴圈任務區別 Linux計劃任務的實現工具 1. at工具 其只能執行一次性任務 其會自動載入部分環境變數 可以執行命令 可以執行指令碼 作業有佇列,用單字母表示,預設為a佇列 作業計劃

Linux思維導圖計劃任務

查漏補缺,理解概念,及時總結,互相交流,歡迎拍磚。 用yum install -y vixie-cron這個命令進行安裝計劃任務服務,可以在安裝之前使用crontab -e進行檢測一下,伺服器

Linux計劃任務

由於 個人 進程 url 修改 bsp 文件格式 可執行 star Linux操作系統定時任務系統 Cron 入門   cron是一個linux下的定時執行工具,可以在無需人工幹預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下

Linux定時任務Crond使用

格式 子郵件 .com color hour blog 分鐘 16px 特定 一、用法 crond服務是linux系統自帶的服務,是不需要手動安裝的; crond服務是一種守護進程; Linux中的用戶使用contab命令來配置corn任務; crontab –e : 修

linux計劃任務

方案 使用 介紹 com windows lin 方法 http 分組 小夥伴們,平時做程序開發的時候,是否也曾為實現一個商城網站或者一個小程序自動執行某個方法而苦惱呢?今天思夢php就給大家帶了這個解決的方案,當然這個有很多種的方法去實現,而今天小編給大家講解是配置Lin

linux centos 計劃任務 定時任務 crontab

linux centos 計劃任務定時任務 crontab 1、查看自啟動列表 chkconfig --list(centos6) systemctl is-enabled crond.service (centos7) 2、查看目前是否已經啟動 ps aux | grep crond 3、

Linux基本計劃任務

at 計劃任務 在linux下有兩種計劃任務的計劃:只執行一次、周期性執行。 (1)只執行一次,在未來的某個指定時間執行一次指定的時間格式有:絕對時間:HH:MM,DD.MM.YY,MM/DD/YY相對時間:now+數字(minutes,hours,days,weeks)模糊時間:noon(即12點

php生產實用技能計劃任務(視頻講解)

PHP計劃任務 Linux命令crontab 生產實用技能 計劃任務 php五種模式 php生產實用技能之計劃任務系列,主要為大家講解了PHP程序員如何在生產工作中做計劃任務。內容概要:一、概念和需求1.概念2.生產需求2.1.網站運行情況監測2.2.業務數據的統計2.3.日誌文件和數據庫

Linux crontab 計劃任務整理

linux centos crontab Linux crontab 計劃任務整理 安裝 yum install -y vixie-cron # 安裝 常用命令 crontab -e # 編輯 crontab -l # 查看 crontab -u

linux計劃任務管理

at命令 crontabml 一次性計劃任務 周期性任務 計劃任務 在linux操作系統中,除了用戶即時執行的命令操作以外,還可以配置在指定的時間、指定的日期執行預先計劃好的系統管理任務(如定期備份數據、定期開啟服務等)。 RedHat 6.5系統中的計劃任務是由at、crontab命令進

Linux 定時計劃任務

Linux 定時計劃任務定時計劃任務用的的是at這個工具1、下載at定時任務工具 2、檢查狀態 3、開啟at 4、關閉at 5、制定一個計劃任務 6、查看有米有計劃任務 附):寫個文本命令重定向方式執行,這種執行方式可以同時執行多個任務計劃1、編寫程序 2、用at 去執行Linux 定時計劃任務

Linux計劃任務執行腳本crontab-簡潔版

error ESS CA lin 調度 pytho 可執行 too 用戶 我使用的是ubuntu16,所以在ubuntu中一切正常,在其他linux系統中應該都差不多。   1 計劃任務,crontab命令選項: -u指定一個用戶, -l列出某個用戶的任務

SaltStack 計劃任務批量修改

saltstackSaltStack 之 計劃任務批量修改 一、通過salt修改從機Linux_Test的計劃任務 [root@SlatStack-Master salt]# vi crontab.sls crontab: #腳本腳識 cron.p

SpringBoot實戰(二)計劃任務

enc 支持 int pan parent 如何使用 註意 因此 string 計劃任務這個對於Java開發者們,應該不陌生了,非常常用又非常常見。比如jdk自帶的Timer 實現例子如下: class MyTask extends TimerTask{ @Ove

Linux計劃任務把結果發送到你的郵箱

pop process refused 問題 ORC md5 磁盤 處理 qq郵箱 在生活工作中,我們會經常寫一些任務計劃,比如定期檢查一下磁盤的使用情況,定期執行一些腳本、指等等,但是Linux系統中的機制是把結果以郵件的形式發送到用戶的郵箱裏,假如現在你出差了,但是你的

Linux定時任務排程

一、crond 任務排程 crontab 進行 定時任務的設定 1、 概述 任務排程:是指系統在某個時間執行的特定的命令或程式。 任務排程分類:1.系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等 2、 基本語法 crontab [選項] 常用選

Linux計劃任務管理

一、延時任務 (1)at命令 at 時間 ##設定在該時刻要進行什麼操作 at now+數字min ##在幾分鐘後要進行什麼操作 at -l ##檢視該操作的編號(只能檢視到最新建立但又未執行的操作) at -c 3

Linux Crontab 計劃任務

crond 是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護程序,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務 工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執