Tag: Perl Script

Shell Script 使用 #!/usr/bin/env

在 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 取得当前日期时间

在 Shell Script 取得当前的日期及时间很有用, 例如可以产生一个包含日期的档案名称等, 要取得日期时间可以 date 实现。 将目前日期及时间储存到 now 变量: 以上会把目前日期时间储存到 $now 变量, 然后用 echo 印出。 用 date 也可以自订格式, 例如我想要 “年月日” 组成的格式, 可以这样做: 以上会将目前日期以 “年月日” 格式, 储存到 $now …

RHEL / CentOS / Fedora 安装 Logwatch

Logwatch 是用 Perl 写成的纪录档管理工具, 可以分析、整理及报告主机的纪录档, 并将报告自动以电邮发送给系统管理员, 对检查及追踪系统的问题十分好用。 安装 Logwatch 在 RHEL, CentOS 及 Fedora 安装 Logwatch 十分简单, 可以透过 YUM 直接安装: # yum -y install logwatch 配置 Logwatch Logwatch 的默认设定档是 …

[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 …