未來的某時間點執行一次某任務或者週期性的執行某個任務,執行結果會通過郵件的形式
傳送給使用者
分類
1、定點執行一次某任務:at,batch
2、週期性的執行某任務:crontab
1、mail命令
mail –s 「郵件主題」 –c」抄送位址」 –b 「密送位址」 –f 傳送人郵件位址 –f 發件人姓名 < 要傳送的郵件內容
三種常用格式發信
第一種方法,把當前shell當成編輯器來用,編輯完內容後ctrl-d結束
mail -s test [email protected]
第二種方法,使用管道的緣故
echo 「mail content」|mail -s test [email protected]
第三種方法,以file的內容為郵件內容發信
mail -s test [email protected] < file
2、at命令
1.時間定義
2.語法
at 選項 引數
選項:-v
印出版本編號
-q使用指定的佇列(queue)來儲存,queue 的編號為 a, b, c… z 以及 a, b … z 共 52 個
-m即使程式指令執行完成後沒有輸出結果, 也要寄封信給使用者
-f file
讀入預先寫好的命令檔
-l列出所有的指定任務
-d刪除指定 任務
-v列出所有已經完成但尚未刪除的指定
-c #
根據任務id檢視內容
3、相關命令
3、crond命令
[root@lz ~]# cat /etc/crontab
shell=/bin/bash
path=/sbin:/bin:/usr/sbin:/usr/bin
mailto=root
home=/
# 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
*minute:表示分鐘,0-59
*hour:表示小時,0-23
*day:日期,1-31
*month:月份,1-12
*week:星期,0-7
時間表示法:
(1)特定值;
給定時間點有效取值範圍內的值;
[n]:day of week和day of month一般不同時使用;
(2) *
給定時間點有效取值範圍內的值;表「每…」
(3) 離散取值:,
在時間點上使用逗號分隔的多個值;
#,#,#
(4) 連續取值:
在時間點上使用-連線開頭和結束
#-#(5) 在指定時間點上,定義步長:
/#:#即步長;
例:
(1) 3 * * * *:每小時執行一次;每小時的第3分鐘;
(2) 3 4 * * 5:每週執行一次;每週5的4點3分;
(3) 5 6 7 * *:每月執行一次;每月的7號的6點5分;
(4) 7 8 9 10 *:每年執行一次;每年的10月9號8點7分;
(5) 9 8 * * 3,7:每週三和週日的8點9分;
(6) 0 8,20 * * 3,7:每週三和週日的8點和20點
(7) 0 9-18 * * 1-5:每週一都周五的早九點到晚18點
(8) */5 * * * *:每5分鐘執行一次某任務;
crontab命令
選項功能
-e編輯任務
-l列出所有任務
-r移除所有任務;即刪除/var/spool/cron/username檔案
-i在使用-r選項移除所有任務時提示使用者確認
1、計畫任務指令碼指定存放位置,便於維護和定期備份
2、寫定時任務前必須在前面寫注釋
3、執行的指令碼前加上/bin/bash或者/bin/sh,指令碼必須使用完整的絕對路徑
4、定時任務,需要盡量避免標準輸出和標準錯誤輸出 結尾加上 >/dev/null 2>&1
5、如果定時任務可以使用命令完成,建議命令寫在指令碼裡
6、在指定使用者下執行相關的定時任務
7、制定標準的書寫規範
Linux定時(計畫)任務
1 概念 未來的某時間點執行一次某任務或者週期性的執行某個任務,執行結果會通過郵件的形式傳送給使用者 2 可將其分為兩類 1 定點執行一次某任務 at,batch 2 週期性的執行某任務 crontab 1.1 使用者及系統定時任務 crond是linux下用來週期性的執行某種任務或等待處理某些事件...
MySQL定時計畫任務
5.1版本以後,mysql支援定時執行 event 的功能,就跟linux的crontab差不多。一 先檢視一下你的msyql版本,查詢版本資訊的sql語句 sql select version 確定版本支援之後,再檢視一下event是否開啟 二 檢視是否開啟event 1 mysql event功...
ansible windows 定時計畫任務
ansible使用win shell模組執行windows命令。ansible all m win shell a schtasks create sc daily tn restart tr c windows system32 shutdown.exe r f t 1 st 02 00 建立定時...