php乱炖,linux使用crontab实现PHP执行定时任务 | 乱炖
首先說說cron,它是一個linux下的定時執行工具。根用戶以外的用戶可以使用 crontab 工具來配置 cron 任務。所有用戶定義的 crontab 都被保存在/var/spool/cron 目錄中,并使用創建它們的用戶身份來執行。
要以某用戶身份創建一個 crontab 項目,登錄為該用戶,然后鍵入 crontab -e 命令來編輯該用戶的 crontab。該文件使用的格式和 /etc/crontab 相同。當對 crontab 所做的改變被保存后,該 crontab 文件就會根據該用戶名被保存,并寫入文件 /var/spool/cron/username 中。
cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。如果發現了改變,它們就會被載入內存。這樣,當某個 crontab 文件改變后就不必重新啟動守護進程了。
安裝crontab:
1yuminstall crontabs
操作說明:
1
2
3
4/sbin/service crond start// 啟動服務
/sbin/service crond stop// 關閉服務
/sbin/service crond restart// 重啟服務
/sbin/service crond reload// 重新載入配置
查看crontab服務狀態:
1service crond status
手動啟動crontab服務:
1service crond start
加入開機自動啟動:
1chkconfig –level 35 crond on
查看crontab服務是否已設置為開機啟動,執行命令:
1ntsysv
crontab命令:
功能說明:設置計時器。
語 法:crontab [-u ][配置文件] 或 crontab [-u ][-elr]
補充說明:cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可以使 用計時器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command
參 數:-e 編輯該用戶的計時器設置
-l 列出該用戶的計時器設置
-r 刪除該用戶的計時器設置
-u 指定要設定計時器的用戶名稱
crontab 格式:
基本格式 :分鐘小時日月星期命令
******第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列 表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
記住幾個特殊符號的含義:“*”代表取值范圍內的數字,
“/”代表”每”,
“-”代表從某個數字到某個數字,
“,”分開幾個離散的數字# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed
crontab幾個例子如下:第一個例子
130 21 * * */etc/init.d/nginx restart
每晚的21:30重啟 nginx
第二個例子,也就是本教程測試的例子
1* * * * */usr/bin/php -f/root/test.php >>test.log
每一分鐘執行/root/test.php文件,將結果輸出到test.log中
完成了上面基礎工作后,就來看看怎么使用crontab定時執行PHP腳本:我在/root下新建test.php文件,內容如下:
1
2
3
4<?php
#!/usr/bin/php -q
echo? date('Y-m-d H:i:s').'from http://levi.yii.so '.PHP_EOL;
?>
說明:你可以用whereis php查找php執行文件位置。
然后crontab -e編寫如下shell:
1* * * * */usr/bin/php -f/root/test.php >>test.log
說明:test.php必須為可執行文件:
1chmod +xtest.php
測試結果很正常,截圖如下:
當然你可以用使用crontab -e繼續添加任務,在/var/spool/cron下你可以看到一個root文件。
總結
以上是生活随笔為你收集整理的php乱炖,linux使用crontab实现PHP执行定时任务 | 乱炖的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apt-get install php
- 下一篇: u8 oracle,Linux As3