Crontab定時任務

2022-09-09 17:27:44 字數 1706 閱讀 9625

1、計畫任務

定時執行程式,實現指令碼中的功能,在linux是通過etc/init.d/crond這個服務來實現計畫任務

2、crontab命令格式

2.1、新建www使用者的crontab配置檔案(crontab -u www -e)

指定使用者: -u

編輯當前的crontab檔案 -e

顯示當前的crontab配置檔案 -l

刪除當前的crontab配置檔案 -r

2.2、定義crontab命令

分 小時 日 月 星期 命令

0-59 0-23 1-31 1-12 0-6

特殊符號:* 範圍的所有數字,/ 每 ,- 範圍 , 『,』集合

* * * * * /usr/local/sftp/packsftp/upload/script/crontab/crontab.php /usr/local/php/bin/php > /dev/null

2.3、示例

每隔30分鐘,每天晚上的凌晨3點-5點:*/30 3-5 * * *

每30分鐘執行一次任務 */30 * * * *

2.4、注意事項

*/30 * * * * /usr/local/php/bin/php /usr/local/sftp/packsftp/upload/script/crontab/crontab.php(linux伺服器路徑) > /dev/null

2.5、php**的執行方式

web伺服器(nginx/apache)

cli cgi php a.php

swoole 內建伺服器

symfony 內建伺服器

3、案例實戰

3.1、定義php執行環境

#!/usr/bin/env php

3.2、修改資料夾許可權

chown -r www:www /www/tasks

chmod -r 744 /www/task

3.1、編寫crontab配置檔案

crontab -u www -e

*/1 * * * * /usr/local/php/bin/php /www/task/demo.php > /dev/null 沒有輸出

*/1 * * * * /usr/local/php/bin/php /www/task/demo.php > /www/task/demo.log 定義輸出路徑

檢視生成的配置檔案:

/var/spool/cron/使用者名稱

輸出的檔案要寫許可權:

產生了錯誤/記錄日誌:通過php**實現

3.2、服務重啟

修改了crontab配置檔案不需要重啟

service crond restart

3.3、計畫任務取消

crontab -u www -e 刪除需要取消的任務

crontab -u www -r 刪除計畫任務

demo.php

**********************專區********************

#!/usr/bin/cnv php

<?php

echo "當前時間".time()."\n";

crontab定時任務

今天工作項有個任務是讓ubuntu定時執行某個指令碼,對postgresql資料庫進行定時備份。linux 系統都有個cron定時任務的機制。今天做些筆記,以便日後翻查。注意 cron機制是有個使用者系統的概念的,即分系統cron和使用者cron,每個使用者所執行的cron任務可能不同。1.以roo...

crontab定時任務

基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第5列標識號星期0 6 0表示星期天 第6列要執行的命令 我的需求是定時備份mongodb 編寫任務執行的指令碼ba...

Crontab定時任務

我們可以使用crontab執行一些週期任務 crontab u user file crontab u user 將file做為crontab的任務列表檔案並載入crontab 編輯crontab檔案內容 顯示crontab檔案內容 刪除載入後的crontab檔案內容 每分鐘向使用者目錄下的log....