linux定時任務 crontab

2021-10-19 21:08:53 字數 3132 閱讀 7460

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/crontabmailto=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 每...