Tag: Perl Script
在 Shell Script 的第一行稱為 shebang, shebang 由 “#!” 開頭, 並在後面加上解譯器的絕對路徑, 即類似: #!/bin/sh #!/bin/bash #!/usr/bin/perl #!/usr/bin/python 如果 Shell Script 不同的平台執行, 指定的解譯器可能位置有所不同, 如果想增加 Shell Script 在不同 Unix Like 環璄的可流動性, 可以使用 /usr/bin/env …
在 Shell Script 取得當前的日期及時間很有用, 例如可以產生一個包含日期的檔案名稱等, 要取得日期時間可以 date 實現。 將目前日期及時間儲存到 now 變數: 以上會把目前日期時間儲存到 $now 變數, 然後用 echo 印出。 用 date 也可以自訂格式, 例如我想要 “年月日” 組成的格式, 可以這樣做: 以上會將目前日期以 “年月日” 格式, 儲存到 $now …
Logwatch 是用 Perl 寫成的紀錄檔管理工具, 可以分析、整理及報告主機的紀錄檔, 並將報告自動以電郵發送給系統管理員, 對檢查及追蹤系統的問題十分好用。 安裝 Logwatch 在 RHEL, CentOS 及 Fedora 安裝 Logwatch 十分簡單, 可以透過 YUM 直接安裝: # yum -y install logwatch 配置 Logwatch Logwatch 的預設設定檔是 …
這個 Perl Script 使用 mysqldump 備份 MySQL, 可以放到 crontab 自動執行。 程式需要按需要修改, 以下是需要修改的選項: $db_username: mysql 使用者名稱 $db_password: mysql 密碼 $db_host: mysql server 位置 $mysqldump: mysqldump 位置 $backup_dir: 儲存備份檔的目錄 $rotate: 保留備份數量 …
上一篇文章 Apache Log Rotate 設定 講述了 Apache 輪替記錄檔的方法, 但如果舊日誌一直不理的話, 同樣佔據碟碟空間, 因為 Apache 不會刪除舊記錄檔, 而且將新記錄寫入新建立的檔案, 以下 Perl Script 可以自動刪除舊記錄檔, 只要設定好記錄檔目錄, 名稱後, 放到 crontab 執行便可以了。 這個 Perl Script 會掃瞄記錄檔目錄, 並查看檔案名稱為是 access …
如果發現伺服器有大量存取記錄, 要檢查是否 DDOS 攻擊, 可以開啟記錄檔檢查, 但資料量大的話, 要人手檢查也很困難, 所以我寫了這個簡單的 Perl Script, 用作檢查記錄檔內出現次數最多的 IP, 鎖定出現頻率最高的 IP 作檢查會容易得多。 編寫時想到有多種記錄檔也有此需要, 只要記錄檔是一行一個記錄, 而每行只有一個 IP 出現便可以用, 已經試過 apache access log 及 error log, /var/log/secure, /var/log/vsftpd.log …