當(dāng)前位置: 首頁編程開發(fā)PHP → 自動(dòng)運(yùn)行php文件

自動(dòng)運(yùn)行php文件

更多

一個(gè)老文章了,不錯(cuò),找出來大家吐槽,所謂任務(wù)計(jì)劃就是由計(jì)算機(jī)自動(dòng)調(diào)用用戶事先設(shè)置好的應(yīng)用程序,從而達(dá)到簡(jiǎn)化用戶操作的目的。利用Windows 2000的任務(wù)計(jì)劃程序(相當(dāng)與*NIX下的cron程序,這里不再對(duì)其詳述),我們可以安排任何腳本、程序或文檔在最恰當(dāng)?shù)臅r(shí)候運(yùn)行,從而滿足自己的需 要。下面以Windows 2000為例。

  具體來說,我們?nèi)粜枥萌蝿?wù)計(jì)劃程序自動(dòng)運(yùn)行則應(yīng)執(zhí)行如下步驟:  1.單擊”開始”按鈕,然后依次選擇”程序”→”附件”→”系統(tǒng)工具”→”任務(wù)計(jì)劃”(或者是”設(shè)置”→”控制面板”→”任務(wù)計(jì)劃”),啟動(dòng)Windows 2000的任務(wù)計(jì)劃管理程序! 2.在”任務(wù)計(jì)劃”窗口中雙擊”添加任務(wù)計(jì)劃”圖標(biāo),啟動(dòng)系統(tǒng)的”任務(wù)計(jì)劃向?qū)А保缓髥螕簟薄   ∠乱徊健卑粹o,在給出的程序列表中選擇需要自動(dòng)運(yùn)行的應(yīng)用程序,然后單擊”下一步”按鈕。  3.設(shè)置適當(dāng)?shù)娜蝿?wù)計(jì)劃名稱并選擇自動(dòng)執(zhí)行這個(gè)任務(wù)的時(shí)間頻率(如每天、每星期、每月、一次性、每次啟動(dòng)計(jì)算機(jī)時(shí)、每次登錄時(shí)等),然后單擊”下一步”按鈕。此時(shí)系統(tǒng)將會(huì)要求用戶對(duì)程序運(yùn)行的具體時(shí)間進(jìn)行設(shè)置,如幾號(hào)、幾點(diǎn)鐘、哪幾個(gè)時(shí)間段才能運(yùn)行等,我們只需根據(jù)自己的需要加以設(shè)置即可。    4.接下來系統(tǒng)將會(huì)要求用戶設(shè)置適當(dāng)?shù)挠脩裘懊艽a(如圖5所示),以便系統(tǒng)今后能自動(dòng)加以運(yùn)行。   5.最后,我們只需單擊”完成”按鈕即可將相應(yīng)任務(wù)添加到Windows 2000的任務(wù)計(jì)劃程序中,此后它就會(huì)自動(dòng)”記住”這個(gè)任務(wù),一旦系統(tǒng)時(shí)間及相關(guān)條件與用戶設(shè)置的計(jì)劃相符,它就會(huì)自動(dòng)調(diào)用用戶所指定的應(yīng)用程序,十分方 便(每次啟動(dòng)Windows 2000的時(shí)候,任務(wù)計(jì)劃程序都會(huì)自動(dòng)啟動(dòng),并在后臺(tái)運(yùn)行,確保用戶的計(jì)劃能夠按時(shí)執(zhí)行)。 

  現(xiàn)在我們來測(cè)試一下剛才所建的任務(wù)是否成功,鼠標(biāo)右鍵單擊”php”程序圖標(biāo)(如圖6所示),在彈出的菜單里面選擇”運(yùn)行”。一般情況下程序圖標(biāo)只要這樣 激活運(yùn)行就可以正常啟動(dòng)。如果運(yùn)行失敗可查看用戶和密碼是否設(shè)置正確,還有確定”Task Scheduler”服務(wù)是否已啟動(dòng),本人當(dāng)初就是為了節(jié)省系統(tǒng)資源把它關(guān)掉了導(dǎo)致運(yùn)行失敗,害我找了大半天。另外也可從”系統(tǒng)日志”里查看到底是什么原 因造成運(yùn)行失敗的。

  好了,講了這么多任務(wù)計(jì)劃的應(yīng)用,現(xiàn)在我們切入正題,下面將介紹兩個(gè)例子:

  一、讓PHP定時(shí)運(yùn)行

編輯如下代碼,并保存為test.php:

$fp = @fopen(”test.txt”, “a+”);
fwrite($fp, date(”Y-m-d H:i:s”) . ” 讓PHP定時(shí)運(yùn)行吧!\n”);
fclose($fp);
?>

添加一個(gè)任務(wù)計(jì)劃,在(如圖2所示)這一步輸入命令:

D:\php4\php.exe -q D:\php4\test.php

時(shí)間設(shè)置為每隔1分鐘運(yùn)行一次,然后運(yùn)行這個(gè)任務(wù)。  現(xiàn)在我們來看看d:\php4\test.txt文件的內(nèi)容時(shí)候是否成功。如果內(nèi)容為如下所示,那么恭喜你成功了。

2007-10-30 11:08:01 讓PHP定時(shí)運(yùn)行吧!
2007-10-3011:09:02 讓PHP定時(shí)運(yùn)行吧!
2007-10-30 11:10:01 讓PHP定時(shí)運(yùn)行吧!
2007-10-30 11:11:02 讓PHP定時(shí)運(yùn)行吧!

   二、讓MYSQL實(shí)現(xiàn)自動(dòng)備份

編輯如下代碼,并保存為backup.php,如果要壓縮可以拷貝一個(gè)rar.exe:

if ($argc != 2 || in_array($argv[1], array(’–help’, ‘-?’))) {
?>
backup Ver 0.01, for Win95/Win98/WinNT/Win2000/WinXP on i32
Copyright (C) 2000 ptker All rights reserved.
This is free software,and you are welcome to modify and redistribute it
under the GPL license

PHP Shell script for the backup MySQL database.

Usage: 

can be database name you would like to backup.
With the –help, or -? options, you can get this help and exit.
} else {
$dbname = $argv[1];
$dump_tool = “c:\\mysql\\bin\\mysqldump”;
$rar_tool = “d:\\php4\\rar”;
@exec(”$dump_tool –opt -u user -ppassword $dbname > ./$dbname.sql”);
@exec(”$rar_tool a -ag_yyyy_mm_dd_hh_mm $dbname.rar $dbname.sql”);
@unlink(”$dbname.sql”);
echo “Backup complete!”;
}
?>

添加一個(gè)任務(wù)計(jì)劃,在(如圖2所示)這一步輸入命令:

D:\php4\php.exe -q D:\php4\backup.php databasename

時(shí)間設(shè)置為每天運(yùn)行一次,然后運(yùn)行這個(gè)任務(wù)。  最后會(huì)在d:\php4\目錄下生成一個(gè)以數(shù)據(jù)庫名和當(dāng)前時(shí)間組成的rar文件。  恭喜你!大功告成了! 

  當(dāng)然備份方式有很多種,讀者可按照自己喜歡的去做!

  以上是原著.結(jié)合本人實(shí)賤,補(bǔ)充說明如下:

如果出現(xiàn)錯(cuò)誤:

在試著設(shè)置任務(wù)帳戶信息時(shí)出現(xiàn)錯(cuò)誤
指定的錯(cuò)誤是:
0×80070005:拒絕訪問
您沒有運(yùn)行所請(qǐng)求的操作的權(quán)限

在上面’”4.接下來系統(tǒng)將會(huì)要求用戶設(shè)置適當(dāng)?shù)挠脩裘懊艽a,以便系統(tǒng)今后能自動(dòng)加以運(yùn)行”.這里最好用”system”用戶,密碼可為空.
這個(gè)system的權(quán)限非常之高,比你的administrator還要高,所以你在運(yùn)行命令的時(shí)候千萬不要亂來,這個(gè)可是什么提示都沒有就會(huì)無條件執(zhí)行的,這個(gè)權(quán)限下你kill核心進(jìn)程都行. 

  2、添加一個(gè)任務(wù)計(jì)劃,在這一步輸入命令:

D:\php4\php.exe -q D:\php100\test.php

  正確形式應(yīng)為

“D:\php4\php.exe” -q “D:\php100\test.php”

  即路徑要用雙引號(hào)括住. 

熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)