Linux

取得當前 shell Script 路徑及檔名

利用此參數是在某些大量部屬的內部及特定的外部環境中,沒有辦法使用 Github 來做定期排程的 Shell Script 控管,而需要定期排程執行的事情越來越多,於是就在思考是否可以透過簡單的 Web Server 提供版本的 HASH 值,計算本地檔案並比較 hash 值來是否有需要更新 shell Script。

Fork: Cannot allocate memory 錯誤訊息分析及修復

在排定每日執行兩次的 Shell Script 中,執行到一半就自行中斷了。手動執行時產生 “Fork: Cannot allocate memory” 錯誤訊息 ,檢查記憶體沒有不足的現象,判定不可能是記憶體不足產生的。在使用 Google 大神後把問題鎖定在執行中的Linux 環境中有過多程序,超過 Pid max 限制後執行程序無法被正常執行。

快速從 DNS 驗證合法爬蟲,不要再浪費效能給惡意爬蟲!!!

網站在運作從提供服務的運算或是輸出的流量,每樣事物對於經營者來說都是成本。好的爬蟲帶來流量,惡意的爬蟲帶來只有滿滿的帳單金額。起初並沒有太針對爬蟲的有太多研究,一切起源於想收集惡意攻擊IP名單同時整合進防火牆阻擋的過程中,才思考到清單內是否會帶有搜尋引擎爬蟲的 IP,全阻擋掉的結果會一起封鎖搜尋引擎爬蟲,導致網站無法被正確爬蟲索引,畢竟現在網站流量來源有絕大多數靠著搜索引擎帶進來的。

理論上主流的搜尋引擎爬蟲現在都有自主規範,爬蟲在搜索數據時都會主動表明身分在 User-Agent 的字串中,而字串的來源建立於網路世界的互相信任,但對於即將要把黑名單的IP清單匯入防火牆中,阻擋會發生在網路的 Layer 3,不會等看到字串內容後後才決定是否封鎖IP來源。

Shell Script 大量字串組合超高效率的方式

在整理網路上的惡意IP來源,整理完成後大約有四萬多個IP需要組合成一個長字串,使用 API 的方式送進設備中進行過濾流量。但要把四萬個IP打包成一行,一開始使用參數讓字串連結在一起後,寫入回記憶體中IP數量大時,等起來的時間真是不惶多讓,所幸找到簡化的運算方式,把研究思路寫下來做個紀錄。

返回頂端