當前位置:首頁 » 編程語言 » php任務系統

php任務系統

發布時間: 2022-08-09 17:34:25

php如何每天定時執行

php做不到每天定時執行,只有java或者c可以,因為php是不訪問頁面就不會動得代碼,但是有一個方法可以曲線救國

你寫一個頁面是你要每天定時執行的頁面,然後視你的操作系統而言,做定時任務,定時去訪問這個頁面

  1. 如果是windows請使用任務計劃功能

  2. 如果是linux請使用定時任務Cron,在定時的時候使用curl來訪問你那個頁面。以下我只貼出linux的解決方案,因為一般伺服器都是linux的,windows的大家都會


=========================linux cron 入門 ============================


Linux操作系統定時任務系統 Cron 入門
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
現在Cron這個服務已經在進程裡面了,我們就可以用這個服務了,Cron服務提供以下幾種介面供大家使用:
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任務調度的crond常駐命令
crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
1、linux任務調度的工作主要分為以下兩類:
*系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
*個人執行的工作:某個用戶定期要做的工作,例如每隔10分鍾檢查郵件伺服器是否有新信,這些工作可由每個用戶自行設置。
2.crontab命令選項:
-u指定一個用戶,
-l列出某個用戶的任務計劃,
-r刪除某個用戶的任務,
-e編輯某個用戶的任務
3.cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范圍,0表示周日一般一行對應一個任務)
4.記住幾個特殊符號的含義:
"*"代表取值范圍內的數字,
"/"代表"每",
"-"代表從某個數字到某個數字,
","分開幾個離散的數字
一、任務調度設置文件的寫法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek command
分鍾 小時 天 月 天每星期 命令
每個欄位代表的含義如下:
Minute 每個小時的第幾分鍾執行該任務
Hour 每天的第幾個小時執行該任務
Day 每月的第幾天執行該任務
Month 每年的第幾個月執行該任務
DayOfWeek 每周的第幾天執行該任務
Command 指定要執行的程序
在這些欄位里,除了「Command」是每次都必須指定的欄位以外,其它欄位皆為可選欄位,可視需要決定。對於不指定的欄位,要用「*」來填補其位置。
舉例如下:
5 * * * * ls 指定每小時的第5分鍾執行一次ls命令
30 5 * * * ls 指定每天的 5:30 執行ls命令
30 7 8 * * ls 指定每月8號的7:30分執行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令
30 6 * * 0 ls 指定每星期日的6:30執行ls命令[註:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[註:「,」用來連接多個不連續的時段]
25 8-11 * * * ls 每天8-11點的第25分鍾執行ls命令[註:「-」用來連接連續的時段]
*/15 * * * * ls 每15分鍾執行一次ls命令 [即每個小時的第0 15 30 45 60分鍾執行ls命令 ]
30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]
每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
50 7 * * * root run-parts /etc/cron.daily [ 註:run-parts參數表示,執行後面目錄中的所有可執行文件。 ]
二、新增調度任務
新增調度任務可用兩種方法:
1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
三、查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp //列出用戶jp的所有調度任務
四、刪除任務調度工作
crontab -r //刪除所有任務調度工作
五、任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
註:2>&1 表示執行結果及錯誤信息。
編輯/etc/crontab 文件配置cron
cron服務每分鍾不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
HOME=/ //使用者運行的路徑,這里是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本
大家注意"run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了
例如: 1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
11 2 21 10 * rm -rf /mnt/fb

❷ php怎麼調用celery任務

任務隊列是一個將工作分布到多線程或多台機器上的機制。
一個任務隊列的輸入是一個工作單元也被稱為任務。專用的工作者進程將會持續監控任務隊列並執行它們。
Celery通過消息進行通信,通常通過一個中間人在客戶端和工作者之間協調。客戶端初始化一個任務並將它加到任務隊列,中間人將其發送到工作者。
一個Celery系統可以由多個工作者和中間人構成,這為高可用性和橫向擴展提供了便利。
Celery是用python語言實現的,但是可以使用任何語言實現其協議。除了python以外,還有node.js實現的node-celery和一個php實現的客戶端。
node-celery for Node.js, and a PHP client.

不同語言之間可以相互操作,通過使用webhooks.using webhooks.

❸ 如何製作帝國加入php計劃任務,自動備份當前用戶資料庫如ABC

linux系統自帶crontab計劃任務,可以滿足你的需求。
編輯crontab配置文件的方法是:
crontab -e
編輯完成後,用:x組合鍵關閉並保存。不需要重啟操作,時間到了以後,系統會自動調用定時任務。
示例,在凌晨4點重啟lighthttpd:
0 4 * * * /usr/local/etc/rc.d/lighttpd restart
將命令的路徑改為你寫的備份腳本。
望採納!

❹ 一個 PHP 定時執行任務的問題!

1.在源碼後面加上運行之後更改此文件的訪問許可權,禁止訪問
2.或者設一個$_session['is_open'],檢測有沒有被賦值,沒被賦值就繼續運行,賦值了就exit
3.運行程序了之後,讓他生成一個文件,is_open.txt,如果該文件存在,則運行過了,exit,否則,繼續運行下面的代碼,用個if就ok了

❺ 請問如何用PHP語言讓系統定時執行一個任務

如果能使用主機上的計劃任務就更好。
如果不能,就通過寫一個全局計時器,通過用戶訪問PHP頁面來觸發。
這是根據B/S軟體模型來決定的,PHP代碼一般不會主動執行,只會被動地等待用戶訪問後執行,所以你可以每次被訪問時檢查是否到達設定的時間點,如果到了就執行保存事件一次,並把全局的另外一個條件(如將結果保存在磁碟上,下次檢查是否有這個文件)設為真,下次就不會再執行。
純手打,僅提供一個思路~

❻ PHP實現定時任務的幾種方式

一. 簡單
<?php
ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行.
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執行下去
ini_set('memory_limit','512M'); // 設置內存限制
$interval=60*30;// 每隔半小時運行
do{
//ToDo
sleep($interval);// 等待5分鍾
}
while(true);

二. 簡單 可控型

config.php

<?php
return 1;
?>

cron.php

ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行.
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執行下去
$interval=60*30;// 每隔半小時運行
do{
$run = include 'config.php';
if(!$run) die('process abort');

//ToDo
sleep($interval);// 等待5分鍾
}
while(true);

三. 簡單 改進型

<?php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
?>

❼ 關於php自動任務。寫了一個賬戶管理系統,能夠讓賬戶余額每天增加固定值。如何解決

看你的伺服器 如果伺服器是linux 做個shell腳本 如果是windows的系統 做個計劃任務.或者用mysql的event_scheler來實現定時任務 .php的定時任務很難實現.

❽ 如何配置php伺服器

1. 安裝IIS
IIS是windows平台下比較成熟的web服務,安裝方法也非常簡單。
打開「開始」菜單,點擊「管理您的伺服器」,點擊「添加或刪除角色」(如圖所示)。

2
進入預備步驟後直接點下一步。到達了選擇角色的地方,選擇「應用程序服務(IIS,ASP.net)」

3
之後點擊下一步,出現附加組件的選擇,一個是FrontPage Server Extentions,另外一個是ASP.net,這兩項我們的環境中都不需要,不必選擇,如果有需要,可以選擇性安裝。進入下一步,是選項總結,再下一步,進入安裝過程,此時提示需要插入windows 2003(R2)的安裝光碟,插入光碟後,選擇光碟機所在驅動器下的I386,點擊確定,安裝過程將會繼續一直到結束,並且出現成功提示
4
完成後對IIS進行測試,打開「開始」菜單,點擊「所有程序」,進入「管理工具」,點擊「internet信息服務(IIS)管理器」
展開「網站」樹型節點,刪除默認網站,然後新建一個網站

5
進入向導後,進入下一步,為網站添加描述,也就是IIS中顯示的網站標示,可以隨便填寫,再進入下一步,為網站配置主機頭,我們是用來配置本地測試環境,所以把主機頭配置為127.0.0.1
6
進入下一步,選擇目錄,目錄需要提前建立好,然後選擇即可。繼續下一步,需要選擇網站許可權,這里只選擇讀取即可。之後便可完成網站新建向導了。
需要正常的瀏覽網站,還需要給網站的根目錄文件夾指定相應的許可權,首先在網站屬性中查看網站的匿名訪問賬戶是什麼,然後將這個賬戶設置到網站的根目錄文件夾,並設置相應的訪問許可權

7
網站的匿名訪問賬戶是:IUSR_CBLH-DDEF00B671,為文件夾設置用戶訪問許可權
8
許可權配置好後,在目錄中新建一個index.html文件,隨意輸入一些文字或者html代碼即可。
在網站名稱上右鍵,點擊屬性,進入「屬性」後點擊「文檔」選項卡,在此添加一個index.html和index.php(index.php添加好是為了待會不必再做配置),然後點擊「確定」或者「應用」保存配置。
然後在瀏覽器中的地址欄中輸入「http://localhost/」或者「http://127.0.0.1/」,即可看到剛才我們建立的index.html中的內容。
9
安裝fastcgi
IIS調試好後,就可以安裝fastcgi了,首先需要下載IISfastcgi,下載地址是(http://www.iis.net/download/FastCGI),安裝fastcgi非常簡單,只需要同意協議後連續點擊下一步即可,沒有任何選項。

10
安裝php
首先下載php在windows的安裝包,下載地址http://windows.php.net/downloads/releases/archives/,這里選用php-5.3.4-nts-Win32-VC9-x86.msi做例子。下載好php-5.3.4-nts-Win32-VC9-x86.msi後,雙擊文件安裝,接受使用協議後,為php填寫安裝目錄,這個目錄是可以更換的,指向需要放置它的位置即可。之後需要選擇web伺服器的安裝,這里選擇我們先前安裝的IIS fastcgi

11
下一步需要配置安裝選項,這里我們除了默認的選項之外增加了pear install(如圖所示)

12
再進入下一步,就可以確認安裝了。
完成安裝後,還需要測試一下php是否可用。
首先打開IIS管理器,然後在先前測試IIS的網站上右鍵,進入「屬性」,點擊主目錄選項卡,然後將「執行許可權」配置為「純腳本」
13
然後點擊旁邊的「配置」,查看是否有.php擴展名,如果沒有的話,需要添加一個新項,將可執行文件指向「C:WINDOWSsystem32inetsrvfcgiext.dll」,擴展名為「.php」(注意有個點),動作限制為「GET,HEAD,POST,TRACE」,點擊確定即可
步驟閱讀
14
做好了這些,就可以寫個小腳本來測試了,在網站的目錄中新建一個test.php文件,打開後輸入,保存後退出。在瀏覽器地址欄中輸入http://localhost/test.php,即可看到php信息了。
4. 安裝isapi_urlwriter ISAPI擴展組件
isapi_urlwriter ISAPI擴展組件主要用來做地址重寫,重寫後的虛擬靜態地址對搜索引擎更友好。先將ISAPI_Rewrite3安裝包解壓到指定的文件目錄中,然後進入網站屬性窗口,選擇窗口中的ISAPI篩選器選項卡,點擊添加按鈕,在彈出的窗口中選擇ISAPI_Rewrite3解壓目錄中的ISAPI_Rewrite.dll文件為可執行文件並確定。

END
iis7.5 PHP環境配置
1
windows server 2008是基於NT6 平台的新型操作系統,其對硬體性能的發揮比起其它NT平台來說有了質的飛躍,已經開始普及到了廣大用戶中,而且操作較2003來說更為直觀和簡單,受到越來越多的好評。在這里我們要介紹windows server 2008中的php環境搭建。
安裝IIS
windows server 2008的IIS版本為7.0,包括fastcgi,安裝十分方便。
打開「開始」菜單→「伺服器管理」,出現伺服器管理界面

2
在圖中黃色框中填入伺服器ip,點擊打開,之後提示輸入用戶名和密碼,驗證成功後完成登錄伺服器。
3
點擊「下一步」之後,需要選擇功能,這里需要比默認選項多增加一個「cgi」

4
點擊「下一步」,將會需要確認一下安裝的內容,此時點擊安裝,即可將IIS安裝在操作系統中。
安裝好IIS之後,需要進行一個測試,在瀏覽器地址欄中輸入「http://localhost/」,如果出現IIS7的歡迎頁則說明正常。接下來需要配置一個新網站,首先打開IIS管理器(「開始」→「所有程序」→「管理工具」→「internet 信息服務(IIS)管理器」)。
然後刪除默認網站,在主菜單中,展開網站菜單,然後再網站名稱上右鍵,點擊刪除即可
5
再新建一個網站,在「網站」上右擊,點擊添加網站,會出現信息網站添加的表單,首先輸入網站名稱,例如「stourwebcms」,路徑選擇為網站存放的路徑,單IP的伺服器可以不必選擇IP,主機頭填寫為localhost,然後點擊確定。
6
添加好網站後,需要為網站設置用戶訪問許可權。在iis管理器左邊的網站列表中選中網站,在右邊的操作列表中點擊「基本設置」,在彈出窗口中點擊「連接為」,彈出的窗口中會出現網站的默認用戶賬戶,也可以更改為其它的用戶。確定網站的用戶賬戶後,將此賬戶的訪問許可權設置到網站的根目錄文件夾上

打開網站目錄,新建一個index.html,然後用記事本打開,輸入「hello stourweb」後保存,並訪問本地地址「http://127.0.0.1」進行測試,網頁上顯示出了「hello stourweb」,說明配置成功。

7
安裝php
在前面已經提過,IIS7中不必單獨安裝fastcgi,所以,我們只需要下載php安裝包進行安裝即可,下載地址:http://windows.php.net/downloads/releases/archives/ 下載好後,打開安裝程序,經過引導,配置好路徑,來到選擇「web server setup」的地方,在這里我們選擇「IIS fastcgi」
8
然後點擊「next」按鈕,到了選擇安裝選項的步驟,一般安裝默認的就可以了,如果要添加的話需要點擊一下前面的磁碟小圖標,然後選擇安裝,第一項是只安裝選中的項目,第二項是安裝所有該項目的子項目。配置好後進入下一步

9
配置好後,點擊「next」然後點擊「install」即可安裝php。
當php安裝完成後會自動在iis的處理程序映射中增加一條fastcgi到php的映射關系

安裝完成後,我們還是需要測試一下,打開剛才新建的網站目錄,新建一個test.php文件,用記事本打開,輸入
<?php
echo phpinfo();
?>
保存退出,再從瀏覽器中訪問http://127.0.0.1/test.php
顯示出php信息,說明php環境安裝成功。
10
安裝isapi_urlwriter ISAPI擴展組件
isapi_urlwriter ISAPI擴展組件主要用來做地址重寫,重寫後的虛擬靜態地址對搜索引擎更友好。先將ISAPI_Rewrite3安裝包解壓到指定的文件目錄中,然後雙擊iis的ISAPI篩選器配置項,進入網站ISAPI組件配置窗口,點擊添加按鈕,在彈出的窗口中選擇ISAPI_Rewrite3解壓目錄中的ISAPI_Rewrite.dll文件為可執行文件並確定。

11
ISAPI_Rewrite3組件是一個32位的程序,因此在64位操作系統應用池進程下默認不工作,因此需要在網站所屬應用進程池的高級設置中將進程池設置為32位兼容

END
Mysql資料庫安裝
1
下載mysql(http://www.mysql.com),安裝過程比較簡單,首先配置路徑,然後選擇安裝選項,一般採用默認安裝的方式,之後會進入一個配置向導界面
步驟閱讀
2
連續下一步,需要選擇配置方式,這里選擇配置方式,我們需要手動配置,所以選擇detailed configuration,然後點擊「下一步」

3
這里需要選擇伺服器類型,如果是開發用的測試環境,選擇developer Machine ,如果是伺服器用,則選擇Server Machine,當然單一用途的伺服器還可以選擇dedicated mysql server machine。選擇好後進入下一步

4
接下來是選擇伺服器使用,第一個是多功能資料庫,可以使用 InnoDB engine和MyISAM engine。第二個選項,它的性能偏向於InnoDB,但是同時支持MyISAM engine。第三個選項是偏向於分析功能的MyISAM。至於這三個選項有什麼區別,其實只要知道,MyISAM類型的資料庫引擎可以為php提供強大的檢索和分析功能。InnoDB的性能則偏重於存儲
所以如果只做web伺服器的話選擇第三項即可,如果是有其它用途,建議選擇第一項。
5
下一步需要選擇伺服器上的連接數量,這里如果是測試用的小伺服器可以選擇最少的第一項,如果是流量巨大的網站,需要選擇第二項,或者第三項自行填寫。

之後是網路連接的選項,「enable TCP/IP Networking」可以按照需求來選擇,如果不做集群的話可以把勾去掉,如果是在內網環境,不為mysql做路由規則是完全可以打開此項的。可以直接添加一個防火牆例外給3306埠。埠號可以選擇,但是推薦默認的3306。還有一項是是否開啟嚴謹模式,此項推薦勾選

6
點擊下一步,選擇默認字元集,這里選擇自定義的utf8字元集

7
進入下一步,需要設定windows選項,這里推薦安裝windows服務,並且自動啟動。第二個選項,如果有必要,可以選擇添加一個環境變數,可以方便命令行指向。

配置好後,進入下一步,需要為root用戶設定密碼,請設置一個比較復雜的密碼以增加安全性,另外請牢記自己設置的密碼,否則遺忘了後需要重置密碼十分麻煩。還有一個是否允許root用戶從遠程登錄的選項,此處最好不勾選,否則安全性將會降低。
到此配置就全部結束了,點擊下一步,會出現安裝總結,點擊「execute」執行安裝即可。
安裝成功後,我們依然需要對此進行測試。
在網站中新建一個測試php文件test.php,我們使用pdo鏈接mysql作為測試。
輸入
<?php
$db=new PDO("mysql:host=localhost;dbname=test","root","剛才設置的密碼");
if ($db)
{
echo "ok";
}
?>
訪問http://localhost/test.php,如果屏幕上列印出了ok,表示mysql安裝成功。
END
安全配置建議
1
安全軟體
一款好的安全軟體能有效防禦來自計算機病毒、惡意軟體和木馬的威脅,但能用於伺服器的安全軟體並不多,其中大部分都是收費的,平常個人所用的金山毒霸和360等不能安裝到windows server系列的伺服器操作系統上,但他們都有相應的伺服器版本並且提供免費升級,在他們的官網上面都能夠找到。
2
防火牆
合理的配置好防火牆能有效的阻止各種惡意入侵,因為各種網路入侵都是通過相應的網路埠完成的。網路埠是伺服器上的各種網路服務開啟的,他們對外提供各種網路服務,如http、ftp、smtp等。自己的伺服器上需要提供哪些網路服務就只開啟這些服務的相應埠,如伺服器上提供網站服務,就需要開啟http的80埠,如需要提供ftp服務就要開啟21埠;有些網路服務不需要對外提供服務就不應該開啟,如sql server資料庫不需要對外提供服務,就應該在防火牆中關閉掉1433埠。
Windows sever 2003和2008都自帶防火牆,其實能簡單有效的利用這些自帶的防火牆就能有效的完成埠的開閉管理。
l Windows server 2003伺服器防火牆配置
1) 滑鼠右鍵單擊「網上鄰居」,選擇「屬性」。
2) 然後滑鼠右鍵單擊「本地連接」,選擇「屬性」。如圖選擇「高級」選項,選中「Internet連接防火牆」,確定後防火牆即起了作用。
點擊「設置(G)...」按鈕可進行高級設置。其中列出了可用的網路服務,選中後允許其打開網路埠並通信,反之則關閉其網路通信;單擊「添加」則可以增加網路服務或打開指定的網路埠

3
Windows server 2008伺服器防火牆配置
1) 在控制面板中打開網路和共享中心
2) 點擊「windows防火牆」彈出防火牆配置窗口,在此窗口中要確認防火牆服務已經開啟
3) 單擊「允許程序或功能通過Windows防火牆」彈出網路服務埠配置窗口,在此窗口中可以選擇允許打開埠並通信的網路服務,單擊「允許運行另一程序」來自定義開啟某一網路服務或埠
4
用戶管理
系統中用戶的數量能越少越好,並且每個用戶都被用於特定的功能,如可以新建一個專門用於對網站進行匿名授權的賬戶(如條件允許,可以為每個網站新建一個獨立的賬戶進行分別授權,這些能夠隔離開各網站的授權,提高各網站的安全性,不至於一個網站被入侵後能夠有許可權訪問到其它網站的文件目錄)。另外最重要的一點是要為每個賬戶設置一個獨立且復雜的密碼,防止賬戶密碼被猜解和窮舉。
5
文件系統許可權管理
l C盤只給administrators 和system許可權,其他的許可權不給,其他的盤也可以這樣設置,這里給的system許可權也不一定需要給,只是由於某些第三方應用程序是以服務形式啟動的,需要加上這個用戶,否則造成啟動不了。

l Windows目錄要加上給users的默認許可權,否則ASP和ASPX等應用程序就無法運行。其實沒有必要單獨設置Instsrv和temp等目錄許可權。

l 另外在c:/Documents and Settings/這里相當重要,後面的目錄里的許可權根本不會繼承從前的設置,如果僅僅只是設置了C盤給administrators許可權,而在All Users/Application Data目錄下會 出現everyone用戶有完全控制許可權,這樣入侵這可以跳轉到這個目錄,寫入腳本或只文件,再結合其他漏洞來提升許可權;
譬如利用serv-u的本地溢出提升許可權,或系統遺漏有補丁,資料庫的弱點,甚至社會工程學等等N多方法,在用做web/ftp伺服器的系統里,建議是將這些目錄都設置的鎖死。其他每個盤的目錄都按照這樣設置,每個盤都只給adinistrators許可權。
另外,還將:
net.exe
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.exe
這些文件都設置只允許administrators訪問。
l 網站的目錄最好獨立到一個磁碟中,新建一個為網站匿名訪問而獨立授權的賬戶,讓此賬戶可以訪問和編輯此目錄,移除其它不必要的賬戶對此目錄的訪問許可權,能有效防止網站被入侵後從而涉及到整個系統被控制

日常維護建議
1
定期運行安全軟體進行快速掃描
定期運行一下安全軟體,可以看到安全軟體的引擎或病毒庫是否已經更新到了最新版本,如果沒有可以即時查找原因,看是否是安全軟體未運行、升級埠被禁用或其它原因,雖然安全軟體可以在後台即時掃描各種文件操作,以防止病毒入侵,但有些惡意軟體、流氓軟體或插件則不是實時防護的,雖然這些軟體不會造成伺服器宕機,但也會影響伺服器性能。
2
定期檢查防火牆埠配置
隨著伺服器上的網路服務越來越多,需要打開的網路埠也越來越多,但有些埠是不需要開放的,例如你安裝了一個資料庫軟體(mysql、oracle等),這些資料庫服務很可能只需要在你伺服器的內部訪問,就完全沒有必要讓其通過防火牆,這樣能夠提高伺服器的安全,伺服器對外提供的埠越少越好;
雖然在安裝網路服務的過程中,防火牆會提示你有網路埠正在打開,是否允許通過防火牆,但有些管理員沒有細心看提示,直接就同意了,造成了大量沒有必要打開的網路埠被打開了,特別是一些木馬或惡意軟體會混水摸魚,偽裝提示信息來誘騙管理員打開網路埠,造成大量的安全隱患。進入防火牆配置界面,選擇相應的埠或網路服務,點擊「詳細信息」則可以看到此項應用的詳細信息,根據這些信息來判斷其是否應該開啟這個埠。
3
任務管理器中觀察有無可疑進程,了解系統資源使用情況
任務管理器可以簡單並快速的了解服務系統資源的使用情況,並即時查看系統運行的進程和他們佔用的系統資源,根據伺服器上已開啟的各種應用的服務來判斷哪些進程是非法的,哪些進程佔用的系統資源過多。了解到這些信息後就可以即時的對伺服器進行調整,特別是佔用資源過多的進程進行分析,看是否有什麼異常並即時進行調整。
l 觀察系統進程,並自定義進程屬性
4
查看網路使用情況
查看系統資源使用情況
檢查IIS,了解網站安裝情況
隨時了解伺服器上網站的安裝狀況,並做以下檢查:
1、看各個網站定義的主機頭是否異常
2、 綁定的域名是否完整
3、 主目錄設置是正確
4、用戶許可權設置是否合理
5、 查看IIS的應用程序池設置是否合理,每個池下面託管的網站是否過多,是否需要設置新的應用池,是否有多餘的應用池可以刪除。
查看系統日誌,仔細檢查錯誤、警告日誌發生的原因,並急時修復相應的問題。
檢查系統用戶,查看有無多餘,可疑用戶賬戶,查看每個賬戶所屬的用戶組,特別是administrators組下面的用戶。伺服器被入侵時會出現一些欺騙性的賬戶並被加入到administrators組中,特別留心新建的多餘賬戶,弄清這些賬戶的用途,如果發現是入侵者建立的賬戶,要即時查找賬戶是被創建的原因,並修復相應的漏洞。
檢查文件系統,確保磁碟被合理分區,各個分區應該有各自的功能,如系統、資料庫、網站、備份等。各個分區的用戶授權是不相同的,如系統、備份等不需要網站的專門授權賬戶訪問,資料庫分區需要對資料庫賬戶進行單獨的授權等。既然規劃好了文件分區和功能,並進行了相應的授權,就要防止文件被亂放,以免造成安全隱患。
還要經常檢查各種新建的文件夾和文件(特別是來歷不明,名稱畸形的隱藏文件夾和文件)這些都有可能是入侵者留下的入侵痕跡。
清除垃圾文件,隨時系統運行時間的增加,會產生很多的臨時文件和日誌文件,佔用寶貴的磁碟資源,如果磁碟的可用空間過小(特別是系統盤)還會影響伺服器性能。
1、臨時文件(安裝程序、系統升級、應用程序等產生的)產生的,主要在系統盤,可以看哪些文件夾的體積異常大,可分析其內部文件,確認是臨時文件後將其刪除
2、 日誌文件,主要是IIS產生的,這些日誌文件對於查看網站運行狀態、訪問歷史很有用,但日誌有時效性,如果超過其三個月就沒有什麼用處了,但它會佔用大量的磁碟空間,所以需要定期將其刪除。
定期檢查磁碟狀態並進行碎片整理,隨著系統運行時間的增長,特別是大量的IO操作後,磁碟上會產生大量的文件碎片,這些碎片過多則會嚴重影響伺服器性能,所以定期(建議一個月)進行磁碟碎片檢查,如果系統提醒需要進行碎片整理,則進行整理。
及時升級操作系統補丁,操作系統有各種大量的補丁,特別是一些重要的安全補丁需要即時升級,這樣會有效防止黑客和病毒入侵。
及時備份重要的文件、應用、資料庫。備份分為本地備份和異地備份,有條件的可以進行異地備份,備份是為了以防萬一,當數據丟失或應用損壞時,備份就是救命稻草,因此合理的備份計劃是非常有必要的。
不要隨意下載安裝來歷不明的軟體,特別是需要連接網路或需要打開埠的。現在網上許多的程序都內置有木馬或惡意程序,所以不要下載和安裝網上的不明軟體,特別是一些小網站的。
END

❾ php 怎麼做定時任務

linux系統的話用crontab來處理吧。方便快捷穩定


如果你非要用php做的話,那就寫個守護進程了,比如:

<?php

while(true)
{
if(time()=='xxxxx')
{
$exe='phptest.php';
//執行
system($exe,$output);
}
sleep(5);
}

❿ php如何實現定時任務,php定時任務方法,最佳

PHP製作定時任務(也稱計劃任務)的方法,大概分為2種:

  1. 現在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它們都是單入口的形式,也就是說所有的請求都集合到index.php中,然後再由框架核心來根據請求參數的不同來分配到不同的控制器當中。基於單入口的形式,那麼就可以做基於行為(例如TP3.2)或者說基於事件的定時任務。

  2. 系統自動的定時任務,比如Linux的crontab,windows的計劃任務等。

兩中方法各有所長各有所短

基於事件:這種利用的是框架本身提供的一些行為來實現,優點是:不需要特殊配置,只要項目能跑起來,那麼定時任務也能執行。缺點是:靈活性比較差,必須要藉助框架實現。

基於系統:基於操作系統來實現,優點是:靈活性很高,而且可控性也很好。缺點是:需要特殊配置,專業要求性比較強。

具體要使用哪種方法,可以依據自己的能力和項目需要來選擇。最後附上TP3.2的定時任務配置,這個只需要配置就可以,如果想查看具體實現原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php

第一步:/Application/Common/Conf目錄下新建兩個文件:
分別如:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php

1)新建tags.php,編輯內容如下:
returnarray(
'app_end'=>array('BehaviorCronRunBehavior'),
);

2)新建crons.php,編輯內容如下:
returnarray(
'cron_1'=>array('myplan',1),
);

第二步:/Application/目錄下新建Cron文件夾,裡面新建文件myplan.php文件
路徑如:/Application/Cron/myplan.php
編輯內容如下:
echo11111;

查看是否運行成功,最簡單的方法是查看/Application/Runtime/~crons.php,這個文件是否存在。

熱點內容
微信商城java源碼下載 發布:2024-04-20 20:27:35 瀏覽:120
用友軟體sql 發布:2024-04-20 20:10:01 瀏覽:933
python倒著循環 發布:2024-04-20 20:09:52 瀏覽:758
雲伺服器遠程電腦版 發布:2024-04-20 20:09:12 瀏覽:258
ps資料庫 發布:2024-04-20 19:52:43 瀏覽:521
dpi的演算法 發布:2024-04-20 19:41:16 瀏覽:933
成興ca鎖密碼初始密碼是什麼 發布:2024-04-20 19:24:43 瀏覽:667
如何更准確的看手機配置 發布:2024-04-20 19:15:12 瀏覽:332
匯優的演算法 發布:2024-04-20 19:10:51 瀏覽:414
和平精英暗夜危機模式密碼是什麼 發布:2024-04-20 19:10:03 瀏覽:686