perl 监控apache日志

news/2024/7/7 12:08:25

日志滚动,获取 tail -f 里的信息 如果 存在“Too many open files”那么重启apache

#!/usr/bin/perl
my $now=localtime(time);
&write_log("$now start reahache.pl\n" . '----------------------------------' . "\n");

open Tail, '/usr/bin/tail -f /etc/httpd/logs/error_log |' or die "Pipe failed: $!\n";
while (<Tail>){
         my $in = <Tail>;

                  if($in=~/Too many open files/i){
                        my $get_str_cmd=qx(service httpd restart);
                        my $log_str = "$in\n" . "$get_str_cmd\n";
                        &write_log($log_str);
                        sleep 10;
              }

}
close Tail;

sub write_log {
   open(TEMP_LOG,">>/lcx/restartLog.log") || die"err: $! \n";
                my $write_str=$_[0];
                syswrite(TEMP_LOG,"$write_str\n\n\n");
   close(TEMP_LOG);
}


设置开机运行
[root@2082 etc]# vi rc.local
su root -c "/usr/bin/perl /lcx/reapache.pl &"

转载于:https://www.cnblogs.com/LCX/archive/2010/01/05/1639606.html


http://www.niftyadmin.cn/n/4150507.html

相关文章

Swift 3 :基于 AVAudioPlayer 的简单音乐播放器

2017.05.22 17:46* 字数 1585 阅读 5095评论 0喜欢 8赞赏 2 https://www.jianshu.com/p/4d5c257428a1 学习ios以来差不多接近两个月了&#xff0c;作为一个刚入行的菜鸡终于鼓起勇气写博客并发布出来&#xff0c;本周课程讲到了ios多媒体应用关于音频播放这部分&#xff08;本菜…

认识JDBC

内容&#xff1a; 1、JDBC介绍 2、JDBC入门 3、JDBC工具类实际使用 4、预处理对象 5、JDBC连接池 1、JDBC介绍 (1)基本概念介绍 什么是JDBC&#xff1a; JDBC&#xff08;Java DataBase Connectivity,java数据库连接&#xff09;是一种用于执行SQL语句的Java API。 JDBC是Java访…

Perl 处理日期的自定义函数

#最近做东西老用到处理时间的问题&#xff0c;索性写几个函数。 #!/usr/bin/perl -w # # Copyright (c) 2009, # All rights reserved. # 摘 要 &#xff1a;一些常用的时间处理函数 # 作 者 &#xff1a;2009-12-15 xingwang # 版 本 &#xff1a;0.01 # use strict…

异步

异步 所谓"异步"&#xff0c;简单说就是一个任务分成两段&#xff0c;先执行第一段&#xff0c;然后转而执行其他任务&#xff0c;等做好了准备&#xff0c;再回过头执行第二段,比如&#xff0c;有一个任务是读取文件进行处理&#xff0c;异步的执行过程就是下面这样…

判断URL的HTTP状态

代码 PublicClassTestExistPublicSharedFunctionUrlExist(ByValsURL AsString) AsBooleanDimtemp AsBooleanFalseTryDimrequest AsHttpWebRequest DirectCast(WebRequest.Create(sURL), HttpWebRequest)WebProxy proxy new WebProxy("your proxy server", 8080); re…

查看已安装PERL的模块

1、perldoc perllocal2、推荐pmtools里的pminst命令 http://search.cpan.org/src/MLFISHER/pmtools-1.01/pminst3、编写如下标本#!/usr/bin/perl use strict; use ExtUtils::Installed;my $inst ExtUtils::Installed->new(); my modules $inst->modules();foreach(modul…

go Context的使用

控制并发有两种经典的方式&#xff0c;一种是WaitGroup&#xff0c;另外一种就是Context WaitGroup的使用 WaitGroup可以用来控制多个goroutine同时完成func main() {var wg sync.WaitGroupwg.Add(2)go func() {time.Sleep(2*time.Second)fmt.Println("1号完成")wg.D…

WINDOWS下的squid

今天写这篇教程目的在于分享自己在WINDOWS主机下配置squid的方法。哪些地方写的不完善或是不完整或是需要修改的地方&#xff0c;大家可以提出。我会第一时间纠正。下面看正文部分。先提条件&#xff0c;您预安装配置squid的这台计算机必须是联入网络的&#xff0c;系统版本是w…