共計 1920 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要介紹“Ubuntu 下如何用 Crontab 命令定時執行 PHP 文件”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Ubuntu 下如何用 Crontab 命令定時執行 PHP 文件”文章能幫助大家解決問題。
前言
一般我在開發中,常用的定時任務有 2 種。一種是直接調用 php 文件執行,還有一種是調用遠程 url 地址。
首先,先來亮相一下我們今天的主角,crontab 命令。這個是系統定時命令,作用是定時的去執行一些任務。包含一些系統級別的任務,當然用戶也可以直接借用該命令來實現自己的一些計劃任務。
該命令一般跟隨系統啟動,我們可以使用一下命令來查看是否 cron 是否啟動
pgrep cron
如果啟動了,會返回一個進程 id
crontab 文件一般存放于 /etc 目錄下。我們使用,crontab - e 來編輯 cron 任務。(第一次用這個命令,會讓你選擇文本編輯器)
打開 cron 文件,注意觀察最后一行 m h dom… 這里簡要介紹一下它的意思。
m: 分鐘,0-59
h: 小時,0-23
dom: 日期,1-31
mon: 月份,1-12
dow: 星期,0-6,0 為星期天
command: 命令
這里,我們應該已經知道其大概的用法了。我們只要在對應的位置填寫上我們需要的數字日期,就可以使用它來表示:在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24 小時制)幾分(m)執行某個命令(command)。
舉個栗子:
* * * * * php /path/to/your/cron.php
5 個星號分別代表定時指定每分、小時、日、月、周。* 19 * * * php /var/www/cron/crontab.php
講第二個參數 h 填寫為 19,則表示每天的下午 7 點執行 crontab.php。* * * * * php /path/to/your/cron.php
每隔一分鐘執行一次任務
0 * * * * php /path/to/your/cron.php
每小時的 0 點執行一次任務,比如 6:00,10:00
6,10 * 2 * * php /path/to/your/cron.php
每個月 2 號,每小時的 6 分和 10 分執行一次任務
*/3,*/5 * * * * php /path/to/your/cron.php
每隔 3 分鐘或 5 分鐘執行一次任務,比如 10:03,10:05,10:06
在這個例子中,我們看到不僅有數字還有星號和 / 等等符號。這些符號可以讓定時更加的靈活。
*(星號):表示任意值,在相應位置填寫 *,可以代表任意執行。比如 h 為 *,則為任意的小時
,(逗號):表示一個部分填寫多個值,比如在 m 位置填寫 1,5 代表 1 分鐘或 5 分鐘時候
/(斜杠):表示每隔多久,比如在 h 部分填寫 */ 2 表示每隔 2 個小時,*/ 3 表示每隔 3 個小時,
*/ 1 和 * 無區別,所以可以省略。這里可以想想,*/ 2 表示能被 2 整除的時間就好理解了。
使用你的編輯器,保存 - 退出之后。重新啟動 cron 任務。在每天的相應時間即可看到效果。
下面我們就先來說說 php 開發中,我常用的兩種。
第一種:直接調用 php 文件
這種比較簡單,我們新建一個 php 文件。向一個文件插入一些簡單的日期內容。
#!/usr/bin/php -q
?php
$file = /var/www/ .date(h). _ .date(i). _ .date(s). .txt
file_put_contents($file,date( y-m-d));
?
注意:這種直接調用 php 文件需要在 php 文件最上方加入 #!/usr/bin/php - q 代碼,而第二種方式(接下來會講),是直接訪問鏈接,通過 apache 來解析 php,這種 php 腳本則不需要加這段代碼。
1 6 * * * /path/to/your/cron.php
每天的上午 6 點 01 分,執行 cron.php 文件
第二種:通過訪問 url 鏈接定時。
訪問 url 鏈接需要借助于瀏覽器來實現。我們選擇 lynx 瀏覽器,lynx 瀏覽器是一款輕便的 web 瀏覽器,使用于大部分 unix 和 linux 系統環境。安裝命令:
sudo apt-get install lynx
然后就可以和直接訪問 php 文件類似的定時訪問 url 啦。
* * * * * lynx -dump http://weiya.me/index.php
注意這個地址最好用絕對地址,包含“http://”的完整 url。
關于“Ubuntu 下如何用 Crontab 命令定時執行 PHP 文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注丸趣 TV 行業資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。