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日志切割,远程拷贝日志脚本的更多相关文章

  1. nginx 日志切割(也适用于docker)

    =============================================== 2019/4/6_第2次修改                       ccb_warlock 201 ...

  2. 日志切割之Logrotate

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  3. Logrotate日志切割

    日志切割Logrotate 关于日志切割 logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用. 可以节省磁盘空间 ...

  4. 日志切割logrotate和定时任务crontab详解

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  5. Nginx 热部署和日志切割,你学会了吗?

    上篇文章,我们已经安装好 Nginx,并且配置好 Nginx 文件后,这个时候我就需要操作 Nginx 的命令行了,这篇文章主要讲解 Nginx 命令行相关知识,并通过日常遇到的热部署.切割日志文件场 ...

  6. linux shell:nginx日志切割脚本

    需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名   简要命令: mv /usr/local/tengine/logs/access.l ...

  7. nginx日志切割总结

    Nginx日志切割   方法1(脚本+定时执行): #step1:加脚本 cut_nginx_log.sh,主进程把USR1信号发给worker,worker接到这个信号后,会重新打开日志文件 #!/ ...

  8. Nginx定时日志切割

    Nginx定时日志切割 现有的日志都会存在access.log文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维 人员查看,所以我们可以通过把这个大的日志文件切割为多份不 ...

  9. tomcat集群日志切割和远程备份脚本分享

    笔者一共有3台tomcat服务器,一共4个tomcat服务,未来还会增加4个作为负载,笔者想通过在存储服务器对tomcat服务的日志进行远程切割和备份到存储上. 文中采用清空日志的方式,优点是不用重启 ...

随机推荐

  1. IBM Personal Communications 软件:精简绿色版TN3270终端模拟器:经测试可以在 (winxp、win2003、win764)上运行

    全系列版本啊!耗费了我大量的时间和精力,深夜熬到3点! 注意:如何使用?解压后,里面有个reg注册表文件,以管理员权限用户双击加载即可. http://files.cnblogs.com/files/ ...

  2. Unity打包IOS和Android以及之间的交互

    1.导出的Xcode工程 主要讲解Unity导出的Xcode工程的目录结构 2.导出的Android-Eclipse工程 主要讲解Unity导出的Android-Eclipse工程的目录结构 3.导出 ...

  3. ubuntu14下搭建svn

    1.安装 查看是否安装 svn help 安装了卸载 sudo apt-get remove --purge subversion 安装 sudo apt-get update sudo apt-ge ...

  4. nodejs的package.json

    package.json文件会描述这个NPM包的所有相关信息,包括作者.简介.包依赖.构建等信息,格式是严格的JSON格式 在E:/nodejs/mychat下 执行,npm init 输入yes,就 ...

  5. jsch下载文件的两个注意点

    1.关于sftp文件上传和下载的网上很多code,此处就不多写了.主要记录下工作中遇到的两个问题需要多注意. 1.判断sftp远程文件是否存在,通过异常捕获来判断该文件是否存在,存在返回SftpATT ...

  6. 【转】ZooKeeper详细介绍和使用第一节

    一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的 ...

  7. MongoDB使用经验总结

    摘要: 最近在开发项目使用了数据库MongoDB,我将它的使用方法整理下分享给大家.至于mongoDB有什么优点,大家可以到官网去看. 安装: 首先我们需要到官网下载适合自己系统的mongodb. w ...

  8. AES-128-CBC加密

    C#: public static string AesKey = "sgg45747ss223455"; /// <summary> /// AES加密 (128-C ...

  9. form enctype:"multipart/form-data",method:"post" 提交表单,后台获取不到数据

    在解决博问node.js接受参数的时候,发现当form中添加enctype:"multipart/form-data",后台确实获取不到数据,于是跑到百度上查了一下,终于明白为什么 ...

  10. Mysql主从热备

    mysql主从配置比较不错的文章,大家可以参考下~ https://www.cnblogs.com/kissdodog/p/5422195.html