centos记录uptime,tomcat日志切割,远程拷贝日志脚本
1.uptime日志脚本(每天记录)
#!/bin/sh dir=/tmp/uptime_log process=`ps -ef|grep $|grep -v "grep" |grep -v "vim"|grep -v "ps"|wc -l`
if [ $process -gt ];then
echo $process
exit;
fi if [ ! -d $dir ];then
mkdir -p $dir;
fi while true
do
current_time=`date -d today +"%Y_%m_%d"`
uptime >> ${dir}/${current_time}_system_check.txt
sleep ;
find $dir -mtime +${time} -type f|xargs rm -rf
chown -R xxadmin.xxadmin ${dir}/*
done
2.tomcat日志切割
#!/bin/bash
file1='/usr/local/tomcat7/logs'
file2='/usr/local/tomcat7-2/logs'
file3='/usr/local/tomcat7-3/logs'
file4='/usr/local/tomcat7-4/logs'
logtime="`date +20%y_%m_%d`"
time=
for i in `seq `
do
{
rm -rf tmp_${i}.txt
eval echo \$file${i} > tmp_${i}.txt
file=`cat tmp_${i}.txt`
cp $file/catalina-daemon.out $file/catalina-daemon_${logtime}.out
if [ $? -eq ];then
echo "" > $file/catalina-daemon.out
fi chown zxadmin.zxadmin $file/catalina-daemon_${logtime}.out find $file -mtime +${time} -type f|grep catalina-daemon_*.out|xargs rm -rf
rm -rf tmp_${i}.txt }
done
3.远程拷贝日志脚本
#!/bin/sh
time=`date -d "1 day ago" +"%Y_%m_%d"`
file=catalina-daemon_${time}.out
dir1=/usr/local/tomcat7/logs
dir2=/usr/local/tomcat7-/logs
dir3=/usr/local/tomcat7-/logs
dir4=/usr/local/tomcat7-/logs
remote_ser1=111.111.111.1
remote_ser2=111.111.111.2
remote_ser3=111.111.111.3
local_dir=/tmp/log_list
times=
pro1=xxx_web
pro2=xxx_api
pro3=xxx_manage
pro4=xxx_forward
uptime_log_dir=/tmp/uptime_log
uptime_file=${time}_system_check.txt
local_uptime_file1=xxx_web
local_uptime_file2=xxxx_db
local_uptime_file3=xxx_nginx
if [ ! -d $local_dir/$time ];then
mkdir -p $local_dir/$time;
fi
rm -rf $local_dir/$time/*
#tomcat_log
for i in `seq 1 4`
do
{
rm -rf /tmp/.tmp_a_${i}.txt
eval echo \$dir${i} > /tmp/.tmp_a_${i}.txt
dir=`cat /tmp/.tmp_a_${i}.txt`
rm -rf /tmp/.tmp_b_${i}.txt
eval echo \$pro${i} > /tmp/.tmp_b_${i}.txt
pro=`cat /tmp/.tmp_b_${i}.txt`
ssh $remote_ser1 "cd ${dir};tar -zcf catalina-daemon_${time}.out.gz catalina-daemon_${time}.out > /dev/null 2>&1"
if [ $? -ne 0 ];then
echo `date`'--->tar tomcat_log faile' >> $local_dir/$time/error.log;
exit;
fi
scp $remote_ser1:$dir/$file.gz $local_dir/$time > /dev/null 2>&1
if [ $? -ne 0 ];then
echo `date`'--->scp tomcat_log.gz faile' >> $local_dir/$time/error.log;
exit;
fi
ssh $remote_ser1 'rm -rf $dir/${file}.gz > /dev/null 2 >& 1'
if [ $? -ne 0 ];then
echo `date`'--->rm the tomcat_log.gz file faile' >> $local_dir/$time/error.log;
fi
cd $local_dir/$time;tar -zxf $local_dir/$time/${file}.gz -O > ${pro}_${file};
find $local_dir -mtime +${times} -type d |grep catalina*.out|xargs rm -rf
}
done
#uptime_log
for i in `seq 1 3`
do
rm -rf /tmp/.tmp_c_${i}.txt
eval echo \$remote_ser${i} > /tmp/.tmp_c_${i}.txt
remote_ser=`cat /tmp/.tmp_c_${i}.txt`
rm -rf /tmp/.tmp_d_${i}.txt
eval echo \$local_uptime_file${i} > /tmp/.tmp_d_${i}.txt
local_uptime_file=`cat /tmp/.tmp_d_${i}.txt`
ssh $remote_ser "cd ${uptime_log_dir};tar -zcf ${uptime_file}.gz ${uptime_file} "
if [ $? -ne 0 ];then
echo `date`'--->tar uptime_file faile' >> $local_dir/$time/error.log;
exit;
fi
scp $remote_ser:${uptime_log_dir}/${uptime_file}.gz $local_dir/$time > /dev/null 2>&1
if [ $? -ne 0 ];then
echo `date`'--->scp uptime_file faile' >> $local_dir/$time/error.log;
exit;
fi
ssh $remote_ser 'rm -rf ${uptime_log_dir}/${uptime_file}.gz > /dev/null 2 >& 1'
if [ $? -ne 0 ];then
echo `date`'--->rm uptime_file.gz faile' >> $local_dir/$time/error.log;
exit;
fi
cd $local_dir/$time;tar -zxf $local_dir/$time/${uptime_file}.gz -O > ${local_uptime_file}_${uptime_file};
done
rm -rf $local_dir/$time/*.gz
rm -rf /tmp/.tmp_*.txt
/home/zxadmin/filter_xdaili_log.sh
if [ $? -ne 0 ];then
echo `date`'--->filter xdaili log file faile!' >> $local_dir/$time/error.log;
fi
4.日志过滤
#!/bin/bash time=`date -d "1 day ago" +"%Y_%m_%d"`
local_dir=/tmp/log_list
files=`ls ${local_dir}/${time}|grep "xxdaili"`
dir1=filter_files cd ${local_dir}/$time
if [ ! -d $dir1 ];then
mkdir -p $dir1;
fi
rm -rf $dir1/* for i in $files
do
if [ ! -f $i ];then
echo $i' not found' >> $dir1/error.log;
else
name=`echo $i|awk -F"." '{print$2}'`
if [ $name = "txt" ];then
cat $i |grep -v "min"|awk '{print$1"\t"$12}' > $dir1/$i
elif [ $name = "out" ];then
cat $i |grep 'Exception\|at ' > $dir1/$i
fi fi done
centos记录uptime,tomcat日志切割,远程拷贝日志脚本的更多相关文章
- nginx 日志切割(也适用于docker)
=============================================== 2019/4/6_第2次修改 ccb_warlock 201 ...
- 日志切割之Logrotate
1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...
- Logrotate日志切割
日志切割Logrotate 关于日志切割 logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用. 可以节省磁盘空间 ...
- 日志切割logrotate和定时任务crontab详解
1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...
- Nginx 热部署和日志切割,你学会了吗?
上篇文章,我们已经安装好 Nginx,并且配置好 Nginx 文件后,这个时候我就需要操作 Nginx 的命令行了,这篇文章主要讲解 Nginx 命令行相关知识,并通过日常遇到的热部署.切割日志文件场 ...
- linux shell:nginx日志切割脚本
需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名 简要命令: mv /usr/local/tengine/logs/access.l ...
- nginx日志切割总结
Nginx日志切割 方法1(脚本+定时执行): #step1:加脚本 cut_nginx_log.sh,主进程把USR1信号发给worker,worker接到这个信号后,会重新打开日志文件 #!/ ...
- Nginx定时日志切割
Nginx定时日志切割 现有的日志都会存在access.log文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维 人员查看,所以我们可以通过把这个大的日志文件切割为多份不 ...
- tomcat集群日志切割和远程备份脚本分享
笔者一共有3台tomcat服务器,一共4个tomcat服务,未来还会增加4个作为负载,笔者想通过在存储服务器对tomcat服务的日志进行远程切割和备份到存储上. 文中采用清空日志的方式,优点是不用重启 ...
随机推荐
- Java常用数据结构之Set之TreeSet
前言 上篇文章我们分析了HashSet,它是基于HashMap实现的,那TreeSet会是怎么实现的呢?没错!和大家想的一样,它是基于TreeMap实现的.所以,TreeSet的源码也很简单,主要还是 ...
- Java虚拟机(JVM)你只要看这一篇就够了!
1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据<Java 虚拟机规范(Java SE 7 版)>规定,Java 虚拟机所管理的内存如下图所示. 1.1.1 程序计数器 ...
- MathType如何编辑大三角形符号
MathType中包含的符号超过1000多个,可以满足我们很多学科的使用,尤其是数学中,涉及到很多的符号,常见的就是代数.几何这两大类,当然还有集合之类的符号使用也比较多.我们在用MathType编辑 ...
- event.keyCode与event.which
//Netscape/Firefox/Opera中不支持 window.event.keyCode,需要用event.which代替//IE用event.keCode方法获取当前被按下的键盘按 ...
- docker machine介绍和使用
https://www.cnblogs.com/sparkdev/p/7044950.html https://www.jianshu.com/p/cc3bb8797d3b
- Yii 汉化翻译
一).首先创建一个zh_cn语言包.(参考网址:制作语言包) 1.复制framework\messages\config.php 文件到 protected\messages\下 2.更改config ...
- php 图片上传 500 Internal Server Error 错误
写php简单上传图片时,发现200k的图片上传时报Internal Server Error错误,检查了upload_max_filesize,及其他post_max_size.max_input_t ...
- /var/spool/postfix/maildrop/ 中有大量的文件
今天查看硬盘剩余的容量,发现‘/’目录下占用了大量的空间:可我在这个目录下面没有放什么东西:仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件.怎么会有这么多的文件 ...
- Ansible 实战:一键安装 LNMP
Ansible 配置文件 : [root@center /data/ansiblework]# cat ansible.cfg [defaults] remote_user = root remote ...
- Splash images_enabled 属性
images_enabled属性用于设置加载页面时是否加载图片,如下,禁止之后,返回的页面截图就不会带有任何图片,加载速度也会快很多 function main(splash, args) splas ...