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....