用crontab執行php,crontab 執行

本文目錄一覽:

如何使用Ubuntu中的Crontab定時執行PHP文件

先確認自己在LINUX Ubuntu 服務器上php的安裝模式,以CGI 模塊還是Apache模塊方式安裝? 如果不確定php安裝模式,可以使用 phpinfo() 函數查看:將?php phpinfo(); ? 寫在php文件中上傳到網站服務器,訪問該頁面,就在頁面頂部我們找到“Server API”,如果類似“Apache 2.0 Handler”,那麼就是apache模塊;否則php是CGI 模式(shell 命令行模式)。這兩種不同的php安裝模式,正對應於前面介紹的ubuntu crontab 定時執行php的兩種解決方法。

CGI 編譯

如果Server API是cgi,那麼在需要cron執行的php腳本的第一行額外加入一段代碼#!/usr/bin/php -q(類似PERL語法),指定服務器中php可執行程序的位置,具體步驟如下:

1. 確認Ubuntu系統已經安裝了php5-cli模塊,安裝命令:apt-get install php5-cli。在目錄 /usr/bin/php下生成 php可執行程序。

2. 編輯待定時執行的php腳本文件crontab.php,如:

#!/usr/bin/php -q

?php

$file = “/var/www/”.date(‘H’).’_’.date(‘i’).’_’.date(‘s’).’.txt’;

file_put_contents($file,date(‘Y-m-d’));

?

3. 編輯 crontab 任務:

打開終端,輸入命令:crontab -e,

Select an editor. To change later, run ‘select-editor’.

1. /bin/ed

2. /bin/nano —- easiest

3. /usr/bin/vim.tiny

選擇一個Ubuntu編輯器後,編輯/tmp/crontab.AuN7IQ/crontab 文件:

# m h dom mon dow command

在下面添加定時執行命令:

* * * * * php /path/to/your/cron.php

5個星號分別代表定時指定每分、小時、日、月、周。如每天的下午7點執行crontab.php,命令為:

* 19 * * * php /var/www/cron/crontab.php

然後按Ctrl+O保存,Ctrl+X退出。

4. 執行以下Crontab命令行

Shell crontab crontab

確認crontab.php的權限為可執行(”chmod 755 /var/www/cron/crontab.php”)。

Apache 模塊

如果php安裝是以 apache 模式運行的,那麼在要在ubuntu服務器定時執行的php腳本開頭就不用加 #!/usr/bin/php -q 這一行。php腳本在ubuntu 通過crontab的定時執行通過Lynx瀏覽器的自動訪問來完成。

1. Lynx瀏覽器安裝。

Lynx瀏覽器是一款輕便的web瀏覽器,使用於大部分Unix 和Linux系統環境。安裝命令:sudo apt-get install lynx。

2. 編輯cron任務,命令crontab -e

如何使用Linux的Crontab執行PHP腳本

就像在Crontab中調用普通的shell腳本一樣(具體Crontab用法),使用PHP程序來調用PHP腳本。

每一小時執行myscript.php如下: 後盾網有許多人也可以幫忙你解決問題

如何使用Linux的Crontab定時執行PHP腳本的方法

35 0 * * * /usr/local/php/bin/php -f /data/1111.php /data/2222.txt

上面這行的意思,是每天0點35分,用安裝在/usr/local/php/bin/php的PHP執行程序,執行這個文件/data/1111.php,然後把執行日誌放在/data/2222.txt里

基本格式 :

*****command

分 時 日 月 周 命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要運行的命令

如何用php作Linux自動執行腳本

Linux中crontab是實現定時執行的指令,利用這個指令我們就可以定時執行某一個php文件,從而實現用PHP做Linux自動執行腳本。

如何用PHP作Linux自動執行腳本?

在安裝PHP的時候,會產生一個可執行文件,文件名為php.將它 copy 到 /usr/local/bin 下.在終端方式執行php程序:

php -q onlinnum.php

PHP 原本是應用在網頁應用的﹐因此它會送出 HTML 的HEADER﹐但是在此我們是要將 PHP 用作 Shell Script﹐”-q” 就是表示不要送 出 HEADER 的意思.你可以試試看不加上 -q 的顯示結果。此時你已經可以在終端方式下執行PHP 代碼了。 linux命令:cron daemon

這是一個系統中常駐的服務,功能在於執行例行性的工作,如每天一次或每月一 次檢查磁盤。cron daemon 會在每分鐘檢查一次排定的工作表(crontab),看看是否有要執行的指令,所有的輸出會以mail寄給用戶。

設置 crontab

命令:crontab -e

該命令呼叫vi編輯器來編輯執行的清單。例如

0 0 1,15 * * fsck /home

1 * * * * /home/myhome/printhello

每一行代表一項排定的工作,在指令前為排定的時間,總共有5個欄位,以空格間隔,由左到右依序如下:

————————–

分鐘 從00到 99

點鐘 從0到 24

日 從01到31

月 從01到12

星期 從01到07,代表星期一到星期日

*號表示”每” ,如每天執行,就在第三欄填*號

————————–

所以上例的兩項工作是:

每月1號和15號檢查/home 磁盤

每小時的第一分執行 /home/myhome/printhello 這個文件

查看crontab:crontab -l

刪除crontab:crontab -r

我們就知道該怎麼利用PHP和crontab命令作Linux自動執行腳本了。

還需要注意什麼問題?

如果php中有使用數據庫,如oracle等,執行腳本中還需export Oracle的環境設置。因為cron下的腳本執行的用戶都是在沒登陸狀態下執行的,少了很多系統里設置的環境變量的值,在連接數據庫的時候會出問題。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182350.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 06:20
下一篇 2024-11-24 06:20

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • crontab測試的詳細闡述

    一、crontab的概念 1、crontab是什麼:crontab是linux操作系統中實現定時任務的程序,它能夠定時執行與系統預設時間相符的指定任務。 2、crontab的使用場…

    編程 2025-04-25
  • crontab周一到周五完全解析

    一、什麼是crontab? 1、crontab是什麼? crontab是Linux下的一個定時執行工具,其名稱來自於“cron”和“table”兩個單詞的組合。它可以讓用戶在規定的…

    編程 2025-04-25
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24

發表回復

登錄後才能評論