兩種方式:
一、Linux 服務器
Linux原生支持crontab,所以可以利用這一功能做定時任務
步驟:
1、編輯crontab文件:
Linux:crontab -e
2、輸入代碼:
0 0 * * 6 /etc/init.d/httpd restart && /etc/init.d/mysqld restart
代碼解釋:每周六0點自動重啟apache和mysql,第一項(前面5位)是時間設置,具體格式百度之,不贅述,下同;
第二項是apache所在目錄,
第三項上執行具體方法,
后面的&&可以連寫,也可以刪除&&后,換行,即也可以這么寫:
0 0 * * 6 /etc/init.d/httpd restart
0 0 * * 6 /etc/init.d/mysqld restart
0 9 * * * /usr/bin/curl http://www.website.com/Index/test
代碼解釋:每天上午9點自動執行一次http://www.website.com/Index/test方法
第二項代表curl所在目錄,
第三項代表所要執行的url
(若要執行PHP文件,與此格式類似,具體百度之。。)
esc
:wq 保存
二、Windows服務器:
Windows服務器可以利用系統的計划任務實現
步驟:
1、創建一個bat批處理文件,如:
D:\xampp\php\php.exe -q D:\xampp\htdocs\test.php
保存為test.bat,第一項為php.exe所在目錄,第二項為需要執行的php文件路徑
2、test.php文件寫入:
<?php
file_put_contents('test.txt',date('Y-m-d H:i:s')." success!\r\n",FILE_APPEND);
?>
此僅為測試用,具體代碼可自行編寫(本例是只要執行test.bat,就調用test.php,往test.txt里面寫入一段字符串)
3、設置系統計划任務,定時執行test.bat
4、不通過php文件所在路徑,而是用網址呢,windows下新建test.bat,添加內容如下:
@echo off rem 關閉回顯 start "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.abc.com/test.php" rem 使用瀏覽器打開url地址,5秒后自動關閉ie ping 127.0.0.1 -n 5 >nul taskkill /im iexplore.exe /f
放在windows計划任務里執行
用PhantomJS或者類似的東西替代瀏覽器,消耗應該會很小