可不可以把這些移到 舊站討論區,然後設定成不註冊不能post...就是凍結掉新增資料
這樣還能夠用搜尋或是瀏覽舊文章....
這也是我個人的討論區目前的情況,就是將舊的討論區獨立出來,
以新的 phpBB 2.0.1 來進行討論區的重新設置!
http://aerosol.ev.ncku.edu.tw/~vbird/forums但是.....資料會變的亂七八糟(有新有舊...),尋找的情況也比較不良一點....
好像是DB Record寫入不完整,
所以session會出現錯誤,
不過知道跟httpd佔99% cpu,
造成回應不完整所致有關
在我的網站上面也同樣的發現 http 會有導致 CPU 高達 100% 的連續數個小時的情況發生,
這個情況已經造成我相當大的困擾,就是一重新開機之後,大約 2-3 天,
系統就會『自動的掛點』去~~死掉掉!他 X 的!真不爽!
後來受不了了,在持續的監測之下,
以 netstat 的 "愚蠢" 方式來觀測連線的 IP 狀態,
發現,有幾個 IP 的連線數相當的驚人,不但有 ESTABLISH 還有 TIME_WAIT 等等的狀態,
在這情況下, CPU 的 loading 高達 100% ,
等我將該 IP 以 iptables 擋下來之後,竟然發現 CPU loading 降至 20% 不到,
因此,我就在懷疑這是因為砍站軟體的『多點連線下載』造成的問題,
由於我的網頁當中很多的錯誤連結(不是故意的,而是有的資料太舊了!),
所以我就利用 error_log 這一個 apache 提供的錯誤訊息資料的內容,
分析裡頭的資訊,並將錯誤的 IP 取出來,然後以 iptables 自動的執行抵擋的工作,
並將此工作排入 crontab 當中,每三十分鐘監測分析一次 error_log 檔案,
因此,當 CPU loading 太高的時候,大概程式就可以自動的來執行分析的行為,
然後加以抵擋下來!
目前我用這個機制的抵擋方式,意外的也可以將 nimda 病毒所產生的 error 之 IP 也擋下來,
所以,也就不需要擔心 nimda 造成的網路頻寬損耗了(雖然很小!)
此外,由於程式每個禮拜會將 iptables 的規則重新清除一次,
所以,即使是動態 IP 也沒關係,因為每個星期清除一次 IP 資料,
則動態IP的資訊也會被清除,所以,一個 IP 最多可以被擋住一個星期吧!
然後就會重新的讓該 IP 具有登入的權限了~~ ^_^
不過這個方式也有一些困擾,那就是當網頁資料沒有錯誤連結的時候,
那麼進行砍站時,自然也就沒有錯誤訊息了~~
這比較麻煩,或許需要利用一些小技巧,
自己加一些正常使用者不會碰觸到的超連結吧!!
目前這個程式我還在模組化當中,等到足夠釋出的時候,
我再將他公布出來吧!
基本上,我認為上面的流程介紹中,
諸位學長應該都有能力寫出一個適合自己的 scripts 了才對!
阿!我太自不量力了!