Linux定時(計畫)任務

2021-10-04 18:23:36 字數 2550 閱讀 2606

未來的某時間點執行一次某任務或者週期性的執行某個任務,執行結果會通過郵件的形式

傳送給使用者

分類

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 建立定時...