Nginx日志切割脚本:

#!/bin/bash

#############################################################################
logs_path="/usr/local/nginx/logs"
pid_path="/var/run/nginx.pid"
backup_dir="/data/log/nginx"
[ ! -d $backup_dir ] && mkdir -p $backup_dir
mv ${logs_path}/access.log ${backup_dir}/access_$(date -d "yesterday" +"%F").log gzip ${backup_dir}/access_$(date -d "yesterday" +"%F").log && echo "nginx log sucess" kill -USR1 `cat ${pid_path}`

Java日志切割脚本:

#!/bin/bash
#This script run at 00:03 in cron
logs_path="/usr/local/tomcat7/logs"
logs_dir="/data/log/tomcat/"
logdate=`date -d "yesterday" +"%Y-%m-%d"`
for i in $logs_path
do
echo "...................", $i
Hostname=`hostname`
yesterday=`date -d "yesterday" +"%Y%m%d"`
[ ! -e ${logs_dir}$(date +"%Y%m") ] && mkdir -p $logs_dir$(date +"%Y%m")
cat $i/catalina.out > $logs_dir$(date +"%Y%m")/catalina.out_"$Hostname"_"$yesterday".log
cat $i/localhost_access_log.$logdate.txt > $logs_dir$(date +"%Y%m")/localhost_access_log_"$Hostname"_"$yesterday".log echo ""> $i/catalina.out
cd $logs_dir$(date +"%Y%m") && gzip catalina.out_"$Hostname"_"$yesterday".log && echo "java gzip sucess..." done

2.一台机器上面跑两个tomcat应用的日志切割方法:

#######################################################################################

#!/bin/bash
#This script run at 00:03 in cron
#####################################################################################
logs_path="/usr/local/tomcat-App1/logs/ /usr/local/tomcat-App2/logs"
logs_dir="/data/log/tomcat/"
logdate=`date -d "yesterday" +"%Y-%m-%d"`
pro="App1 App2"
for i in $logs_path
do
echo "...................", $i
Hostname=`hostname`
yesterday=`date -d "yesterday" +"%Y%m%d"`
[ ! -e ${logs_dir}$(date +"%Y%m") ] && mkdir -p $logs_dir$(date +"%Y%m")
for m in $pro
do
cat $i/catalina.out > $logs_dir$(date +"%Y%m")/cata_"$m"_"$Hostname"_"$yesterday".log
cat $i/localhost_access_log.$logdate.txt > $logs_dir$(date +"%Y%m")/localhost_access_"$m"_"$Hostname"_"$yesterday".log
done
done
echo ""> $i/catalina.out
cd $logs_dir$(date +"%Y%m") && gzip cata_*_"$Hostname"_"$yesterday".log && echo "java gzip sucess..."

加入定时任务:

*/59 * * * * /usr/sbin/ntpdate cn.pool.ntp.org>/dev/null 2>&1
0 0 * * * /bin/sh /opt/bin/crontab/cronolog.sh 2>&1
10 0 * * * /bin/sh /opt/bin/crontab/nginx_log.sh /dev/null 2>&1

 

Nginx Java 日志切割脚本的更多相关文章

  1. nginx 的日志切割

    nginx的日志切割脚本 说明:在nginx的配置文件中nginx.conf并没有定义access_log的位置, 在/usr/local/nginx/conf/vhost/下的配置文件中定义了acc ...

  2. nginx学习笔记(四)-----日志切割脚本及定时任务

    一.日志切割脚本 #!/bin/sh #nginx目录 BASE_DIR=/usr/local/nginx #生成的日志 BASE_FILE_NAME=jonychen.access.log CURR ...

  3. mongo日志切割脚本

    两种mongo日志切割脚本 vim /etc/logrotate.d/mongodb /home/mongodb/mongolog/mongod.log { daily rotate 7 compre ...

  4. Nginx定时日志切割

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

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

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

  6. Nginx log日志切割shell

    #!/bin/bash#此脚本用于自动分割Nginx的日志,包括access.log和error.log#每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx- ...

  7. nginx的日志切割

    nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大,非常不方便查看分析.以日期来作为日志的切割是比较好的,通常我们是以每日来做统计的.下面来说说nginx日志切割. 如果我们使用的是yu ...

  8. nginx日志切割脚本

    #!/bin/bash ip=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d ...

  9. nginx 日志切割脚本

    #!/bin/shLOG_PATH=/home/test/nginx/logsNEW_LOG_PATH=/home/test/nginx/dayslogNGING_PID=$(cat /home/te ...

随机推荐

  1. Ridis

    Redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的values类型相对更多,包括字符串.列表.哈希散列表.集合,有序集合. 这些数据类型都支持push/ ...

  2. $Django 图片验证刷新 上传头像

    1.图片验证刷新 $('img').click(function () { $('img')[0].src+='?' }) 2.上传头像 1.模板 <div class="form-g ...

  3. FreeSWITCH异常原因总结

    最经在玩FreeSWITCH的时候,遇到很多的问题,特此总结一下,希望以后不要犯类似的错误了: 1.Client端无法注册,但是FS运行正常? 解决办法:查看防火墙是否关闭./etc/init.d/i ...

  4. Sql语句之并(UNION)、交(INTERSECT)、差(minus)、除去(EXCEPT)

    UNION 查询选修了180101号或180102号课程或二者都选修了的学生学号.课程号和成绩. (SELECT  学号, 课程号, 成绩 FROM   学习 WHERE   课程号='180101' ...

  5. <转载>bellman-ford算法

    转载来源:https://www.cnblogs.com/tanky_woo/archive/2011/01/17/1937728.html 相关文章: 1.Dijkstra算法: http://ww ...

  6. Android下利用zbar类库实现扫一扫

    程序源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/zbardemo.zip Android下常用的条码扫描类库有zxing和zbar,比较了一下 ...

  7. Function types cannot have argument labels 错误解决方案

    今天在封装网络工具类的时候 报错了 经过分析发现是在Swift3.0 把闭包的入参的参数名去掉就好了 正确写法 completion: @escaping (Any?, Bool)->() 错误 ...

  8. (批量更新)对多个符合条件的id做更新操作

    需求描述:把checkbox勾选的对应id的记录的标志位置1或0,这个其实不难的,不过我自己做的话,肯定是多次访问数据库做更新,看了老大的代码,发现差距不是一般的大,老大把sql灵活运用,结果一次访问 ...

  9. 【python】confluent_kafka将offset置为最大

    该博文方法有问题,正确方案在http://www.cnblogs.com/dplearning/p/7992994.html 将指定group对应的offset重置到最大值,跳过未消费数据 代码如下: ...

  10. 网络扫描信息收集基于(Windows)

    1.首先说明一下一款网络扫描工具,在之前的博客中我曾简要的写过关于Advance IP Scanner使用方法,最近要写网络扫描的工具,所以对这款工具做一个详细的功能细节上的介绍. 如下图  在输入框 ...