Linux之定時任務crontab詳解

小云云
發布: 2018-02-26 10:45:20
原創
3066 人瀏覽過


crontab指令常見於Unix和類別Unix的作業系統之中,用來設定週期性被執行的指令。存放於“crontab”檔案中,以便之後讀取和執行。此字源自希臘文 chronos(χρνο),原意是時間。通常,crontab儲存的指令被守護程序激活, crond常常在後台運行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

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

建立任務計畫

  1. #登入linux伺服器

  2. 輸入crontab -e,輸入後會自動進入vi編輯器,這時候就可以依照需求去寫指令,寫完要退出即可。

  3. 已儲存完成後的檔案在/var/spool/cron/

寫出定時計畫

linux定時任務的時間有固定的格式,例如:

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

這裡使用PHP語言,test.php檔案的內容

 file_put_contents('/home/test.php',date('Y-m-d H:i:s',time()),FILE_APPEND);
登入後複製

因此這個任務計畫就是,每隔一分鐘向home下的test.php檔案裡面寫入時間


#前面一般有五個*號碼使用5個時間表示

分 時 日 月 星期

例子

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

  1. 每隔一分鐘執行一次

    */1 * * * *
    登入後複製

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

    30 1 * * *
    登入後複製

  3. #每週一早8:00 執行

    0 8 * * 1
    登入後複製

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

    30 19 * * 1-5
    登入後複製

  5. #每週日上午11:30, 下午5:30執行

    30 11,17 * * 1-5
    登入後複製

  6. #每週日上午11:30, 下午5:40 執行

    30 11 * * 1-5
    40 17 * * 1-5
    登入後複製
  7. 每隔2天晚上6點, 執行

    0 18 */2 * * 

    登入後複製

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

  1. *, 任意

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

  3. 1-5, 範圍

  4. 11 ,17 和

  5. 數字3, 時間點

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

指令

  1. crontab -e 寫任務計畫

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

  3. crontab -r 刪除任務計劃

相關推薦:

yii2 設定crontab定時任務

什麼是Linux使用者控制計畫任務Crontab指令及詳解

#實例講解如何利用crontab定時備份MySQL

以上是Linux之定時任務crontab詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!