2. 刪除當前的定時任務
3.新增或編輯定時任務
4.檢視支援的環境變數
任務命令格式
其他crontab傳送郵件
我們可能會對linux進行簡單的監控或者定期執行一些操作,因此會用到linux自帶的定時任務功能.
man
usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
options:
-u define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x enable debugging
1. 檢視定時任務
1)檢視當前使用者的
crontab -l
2)檢視指定使用者的crontab -l -u zzz # zzz為系統存在的乙個使用者
檢視指定使用者(zzz)正在執行的任務 ,只需要新增-u引數即可,其他命令也同理3)檢視系統所有使用者的
cat /etc/passwd |cut -f 1 -d : |xargs -i {} crontab -l -u {}
2. 刪除當前的定時任務crontab -r
3.新增或編輯定時任務crontab -e
進入編輯模式, 按照指定任務命令格式編輯命令, 格式參照下面的任務命令格式
4.檢視支援的環境變數
cat /etc/crontab
shell=/bin/bash
path=/sbin:/bin:/usr/sbin:/usr/bin
mailto=root #傳送郵件到賬號
任務命令分為兩個部分: 第一部分是cron表達是, 後面跟著sh命令
例子
* * * * * /root/date.sh # 每分鐘執行一次date.sh
0 * * * * echo '-------------' >> /root/date.txt # 每小時0分的時候向date.txt檔案中加入一句話
* 1 * * 0 rm -rf /root/date1 #每個星期的星期天的1點左右刪除date1檔案
cron表示式的語法規則* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期幾 (0 - 6) (星期天 為0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 乙個月中的第幾天 (1 - 31)
| +-------------------- 小時 (0 - 23)
+------------------------- 分鐘 (0 - 59)
sh命令語法規則
單行的可執行的sh命令, 可以是執行shell指令碼的命令,也可以是直接的sh命令
1) 任務是否執行查詢
在/var/log/
目錄下有cron
開頭的檔案, 裡面包含了crontab的執行記錄
feb 19 10:19:01 zdc crond[8314]: (root) cmd (/root/date.sh)
feb 19 10:20:01 zdc crond[8390]: (root) cmd (/root/date.sh)
feb 19 10:21:01 zdc crond[8440]: (root) cmd (/root/date.sh)
feb 19 10:22:01 zdc crond[8487]: (root) cmd (/root/date.sh)
feb 19 10:23:01 zdc crond[8544]: (root) cmd (/root/date.sh)
推薦將任務寫成指令碼, 在其中新增執行成功失敗之類的輸出邏輯,自定義輸出到指定檔案中 如
date >> /root/date1
echo "成功" >> /root/date1
任務是否出錯判斷
當任務執行過程中報錯後,會給當前使用者傳送郵件,預設情況下在/var/spool/mail
中的對應使用者檔案下
您在 /var/spool/mail/root 中有新郵件
...
x-cron-env: x-cron-env: x-cron-env: x-cron-env: x-cron-env: x-cron-env: x-cron-env: x-cron-env: message-id: <[email protected]>
date: fri, 19 feb 2021 10:31:02 +0800 (cst)
/root/date.sh:行3: success: 未找到命令
傳送到外部郵箱,以qq郵箱為例
在cat /etc/crontab
將mailto=root
修改為你需要的外部郵箱賬號
且在crontab -e
的第一行新增mailto=外部郵箱賬號
並且配合linux傳送郵件
文章使用
Linux linux定時任務crontab
crontab命令的功能是在一定的時間間隔排程一些命令的執行。它的配置檔案是 etc crontab。vim etc crontab etc crontab中每行指定乙個定時任務,其描述格式如下 minute hour daymonth dayofweek commandminute 從0到59的整...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
linux定時任務
crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...