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服务的日志进行远程切割和备份到存储上. 文中采用清空日志的方式,优点是不用重启 ...
随机推荐
- Adobe超分辨率算法:SRNTT
论文:Image Super-Resolution by Neural Texture Transfer 论文链接:https://arxiv.org/abs/1903.00834 项目地址:http ...
- QT 随机数生成
下面总结了QT中随机生成的方法(仅供学习参考),分为旧方法和新方法,一般来说,旧的方法已经被抛弃,在开发新的应用中推荐使用新方法. C++ Code 12345678910111213141516 ...
- 阿里云的云虚拟主机安装dede提示数据库连接失败的解决办法
问题描述 阿里云的云虚拟主机安装dede提示数据库连接失败 问题分析 连接数据库失败,可能数据库密码不对或数据库服务器出错! 解决方案 1.通过ftp软件查看htdocs/data/common.in ...
- iOS NSURLSession VS NSURLConnection
NSURLSession VS NSURLConnection NSURLSession可以看做是NSURLConnection的进化版,其对NSURLConnection的改进点有: * 根据每个S ...
- Linux oracle数据库创建表空间、用户并赋予权限
管理员用户登录oracle数据库 1.创建临时表空间 select name from v$tempfile;查出当前数据库临时表空间,主要是使用里面的存放路径: 得到其中一条记录/opt/oracl ...
- GSAP JS基础教程--使用缓动函数
今天来了解一下缓动easeing函数. 开始,如果你还没有GSAP的类包,可以到GreenSock的官网去下载最新版本的类包,或者直接点击这里来下载 学习之前,先来准备一下: <!DO ...
- PostgreSQL主备切换
备库如何激活 在PostgreSQL(HOT-Standby)如主库出现异常.备库如何激活:来替换主库工作.有下列2种方式 备库在recovery.conf文件中有个配置项trigger_file.它 ...
- django初体验 学习笔记
django环境搭建 1.安装Python 2.ipython sudo apt-get install ipython sudo pip instal ...
- php pear包打包方法
一)首先下载工具onion 浏览器打开,服务器上wget测试无法正常下载 地址:https://raw.github.com/c9s/Onion/master/onion 二)在临时目录下,建立相关目 ...
- 【Phalapi】新加Namespace (模块)
官网地址: https://www.phalapi.net/ github 地址: https://github.com/phalapi/phalapi/tree/master-2x 1 compos ...