Tag: Perl Script

Shell Script 取得當前日期時間

在 Shell Script 取得當前的日期及時間很有用, 例如可以產生一個包含日期的檔案名稱等, 要取得日期時間可以 date 實現。 將目前日期及時間儲存到 now 變數: 以上會把目前日期時間儲存到 $now 變數, 然後用 echo 印出。 用 date 也可以自訂格式, 例如我想要 “年月日” 組成的格式, 可以這樣做: 以上會將目前日期以 “年月日” 格式, 儲存到 …

RHEL / CentOS / Fedora 安裝 Logwatch

Logwatch 是用 Perl 寫成的紀錄檔管理工具, 可以分析、整理及報告主機的紀錄檔, 並將報告自動以電郵發送給系統管理員, 對檢查及追蹤系統的問題十分好用。 安裝 Logwatch 在 RHEL, CentOS 及 Fedora 安裝 Logwatch 十分簡單, 可以透過 YUM 直接安裝: # yum -y install logwatch 配置 Logwatch Logwatch 的預設設定檔是 /etc/logwatch/conf/logwatch.conf, …

[Perl Script] — 自動備份 MySQL

這個 Perl Script 使用 mysqldump 備份 MySQL, 可以放到 crontab 自動執行。 程式需要按需要修改, 以下是需要修改的選項: $db_username: mysql 使用者名稱 $db_password: mysql 密碼 $db_host: mysql server 位置 $mysqldump: mysqldump 位置 $backup_dir: 儲存備份檔的目錄 $rotate: 保留備份數量 @backup_db: …

[Perl Script] – 自動刪除 Apache 舊記錄檔

上一篇文章 Apache Log Rotate 設定 講述了 Apache 輪替記錄檔的方法, 但如果舊日誌一直不理的話, 同樣佔據碟碟空間, 因為 Apache 不會刪除舊記錄檔, 而且將新記錄寫入新建立的檔案, 以下 Perl Script 可以自動刪除舊記錄檔, 只要設定好記錄檔目錄, 名稱後, 放到 crontab 執行便可以了。 這個 Perl Script 會掃瞄記錄檔目錄, 並查看檔案名稱為是 access …

[Perl Script] 統計記錄檔 IP

如果發現伺服器有大量存取記錄, 要檢查是否 DDOS 攻擊, 可以開啟記錄檔檢查, 但資料量大的話, 要人手檢查也很困難, 所以我寫了這個簡單的 Perl Script, 用作檢查記錄檔內出現次數最多的 IP, 鎖定出現頻率最高的 IP 作檢查會容易得多。 編寫時想到有多種記錄檔也有此需要, 只要記錄檔是一行一個記錄, 而每行只有一個 IP 出現便可以用, 已經試過 apache access log 及 error log, /var/log/secure, /var/log/vsftpd.log 也可以正確使用。執行速度尚算可以, …