Linux之定時任務crontab詳解

crontab命令常見于unix和類unix的操作系統之中,用于設置周期性被執行的指令。存放于“crontab”文件中,以供之后讀取和執行。該詞來源于希臘語 chronos(χρνο),原意是時間。通常,crontab儲存的指令被守護進程激活, crond常常在后臺運行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

在windows系統上有一個定時任務計劃,通過一步步的設置就可以在某一個時間執行命令,像PHP就是執行bat文件,然后bat文件執行php文件,但是在linux上,就要使用crontab來做定時任務。而任務計劃的執行是通過一個守護進程crond進行控制。

Linux之定時任務crontab詳解

創建任務計劃

  1. 登錄linux服務器

  2. 輸入crontab -e,輸入后會自動進入vi編輯器,這時候就可以根據需求去寫命令,寫完保存退出即可。

  3. 保存完成后的文件在 /var/spool/cron/
    Linux之定時任務crontab詳解

編寫定時計劃

linux定時任務的時間有固定的格式,比如:
Linux之定時任務crontab詳解

這個任務計劃就是每隔一分鐘執行一次test.php這個文件,可以看到crontab的任務計劃一般分為兩個部分,前面是時間,也就是定義在什么時間,后面就是在這個時間要做的事。

這里使用PHP語言,test.php文件的內容

<span style="font-size: 14px;"><?php<br/>    file_put_contents('/home/test.php',date('Y-m-d H:i:s',time()),FILE_APPEND);<br/></span>

因此這個任務計劃就是,每隔一分鐘向home下的test.php文件里面寫入時間

Linux之定時任務crontab詳解

Linux之定時任務crontab詳解
前面一般有五個*號使用5個時間表示

分 ? ? 時 ? ?日 ? ? ?月 ? ? ? 星期

例子

可以使用網上的在線工具測試任務計劃寫的對不對
https://tool.lu/crontab/

  1. 每隔一分鐘執行一次

    <span style="font-size: 14px;">*/1 * * * *<br/></span>

    Linux之定時任務crontab詳解

  2. 在每天的凌晨1.30執行一次

    <span style="font-size: 14px;">30 1 * * *<br/></span>

    Linux之定時任務crontab詳解

  3. 每周一早8:00 執行

    <span style="font-size: 14px;">0 8 * * 1<br/></span>

    Linux之定時任務crontab詳解

  4. 每周1-5 晚7:30, 執行

    <span style="font-size: 14px;">30 19 * * 1-5<br/></span>

    Linux之定時任務crontab詳解

  5. 每工作日上午11:30, 下午5:30 執行

    <span style="font-size: 14px;">30 11,17 * * 1-5<br/></span>

    Linux之定時任務crontab詳解

  6. 每工作日上午11:30, 下午5:40 執行

    <span style="font-size: 14px;">30 11 * * 1-5<br/>40 17 * * 1-5<br/></span>
  7. 每隔2天晚上6點, 執行

    <span style="font-size: 14px;">0 18 */2 * * <br/><br/></span>

    Linux之定時任務crontab詳解

從上面的栗子中可以看見時間的語法:

  1. *, 任意

  2. */N, 每隔N個時間單位

  3. 1-5, 范圍

  4. 11,17 和

  5. 數字3, 時間點

時間后, 跟隨執行腳本即可

命令

  1. crontab -e 編寫任務計劃

  2. crontab -l 列出現在所有的任務計劃

  3. crontab -r 刪除任務計劃

相關推薦:

yii2 配置crontab定時任務

yii2 配置crontab定時任務

yii2 配置crontab定時任務

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享