Tomcat 使用 jsvc 以守护进程的方式启动(daemon.sh ).这样tomcat自身将会生成另外一个日志文件(catalina-daemon.out),而不是之前的catalina.out,而且catalina-daemon.out日志不会自动切割,会越来越大. 以前遇到过一个问题,就是网站突然访问空白,排查到最后发现是当前进行了网站打包备份操作,有一个超过2GB的压缩包.删掉后立马页面访问正常.具体原因还不清楚. 同时从运维角度和日志分析角度思考,日志文件最好做切割处理,并日志文件…
  将String类型的二维数组中的元素用FileOutputStream的write方法生成一个文件import java.io.File;import java.io.FileOutputStream;public class Test  {protected static String tmpString[][]={{"头目:蛇怪","建议级别:12级","推荐武器:苏格兰斩剑","建议直接使用初始给予","的…
原文地址: http://www.cnblogs.com/029zz010buct/p/4685173.html 一般而言,saveAsTextFile会按照执行task的多少生成多少个文件,比如part-00000一直到part-0000n,n自然就是task的个数,亦即是最后的stage的分区数.那么有没有办法最后只生成一个文件,而不是成百上千个文件了?答案自然是有办法. 在RDD上调用   coalesce(1,true).saveAsTextFile(),   意味着做完计算之后将数据汇…
Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件 前面我写了一篇博文Shell 从日志文件中选择时间段内的日志输出到另一个文件,利用循环实现了我想要实现的内容. 但是用这个脚本的同事很郁闷,因为执行时间比较长,越大的文件越长.于是找我,问我能不能实现一个更快的方案. 我想了一下,觉得之前的设计是脱裤子放屁,明明有更加简单的实现方法. 想办法获得我要截取的内容的开始的行号,然后再想办法获得我想截取的文件的结尾的行号,然后用两个行号来进行截断文件并输出.就可以实现这个效果了. 不…
Shell 从日志文件中选择时间段内的日志输出到另一个文件 情况是这样的,某系统的日志全部写在一个日志文件内,所以这个文件非常大,非常长,每次查阅的时候非常的不方便.所以,相关人员希望能够查询某个时间段内的日志.我简单些了一个脚本来实现了这个效果. 不过我的实现不是最佳方案,性能上还有很大的优化空间,但我目前水平有限,没有想到更好的方法. 分析日志 5074400:2017-08-01T01:34:22.724252+00:00 test_rest_1.test_default bpmn_tes…
[脚本8]每日生成一个文件 要求:请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为)2017-07-05.log, 并且把磁盘的使用情况写到到这个文件中,(不用考虑cron,仅仅写脚本即可) 一.脚本 #!/bin/bash filename=`date +%F` c=`df -h` echo "$c" > /root/${filename}.log 二.小结 [1]Linux date命令详解 https://www.cnblogs.com/h…
因为tomcat catalina.out日志不会自己主动切割, 一.日志切割所需包在附近中 1. 压缩包中有三个jar包:     log4j-1.2.16.jar      tomcat-juli-adapters.jar     tomcat-juli.jar    说明:假设不是tomcat7版本号,请去官网下载相应版本号的tomcat-juli.jar,tomcat-juli-adapters.jar类包.          下载地址:http://www.apache.org/dis…
生成本地log最好生成多个文件放在一个文件夹里,特别多的时候一个小时一个文件 配置好Nginx后,通过flume收集日志到hdfs 可参考flume的文件 用flume的案例二 执行的注意点 avro和exec联合用法 https://blog.csdn.net/HG_Harvey/article/details/78358304 exec实质是收集文件  spool用法 https://blog.csdn.net/a_drjiaoda/article/details/84954593 或者下面…
场景描述: 项目中通过java代码中从数据库中查询一系列数据,对数据做相应处理,然后通过字符流将数据写如一个新生成的文件中,将该项目部署在linux服务器上,最后生成的文件拿到本地使用notepad++打开会在部分数据末尾出现NUL 排查原因: NUL在C语言中是一个特殊字符常量'\0',空字符 在linux中处理字符串写入,每行字符串结尾如果是空字符,linux就会用'\0'表示 解决方案: 使用该文件时将NUL替换为“ ”空字符 public static String trimnull(S…
1. touch xxx(文件名字).sh 2.     vim xxx.sh 写入  ----------------------- #!/bin/sh cd `dirname $0`pwdd=`date +%Y%m%d`d7=`date -d'7 day ago' +%Y%m%d` cd ../logs/ cp catalina.out catalina.out.${d}cat /dev/null > catalina.outrm -rf catalina.out.${d7} -------…
1.windows操作系统中 1.用管理员运行打开dos界面: 2.用cd转到相应的文件夹中: 3.用dir /b /on >list.txt来生成文件列表的txt. 2.Mac系统中 1.打开终端: 2.用cd转到相应的文件夹中: 3.用ls > list.txt来生成文件列表的txt. 需要注意的是,list.txt也会被写到list.txt中的.…
log4j.rootLogger=INFO,CONSOLE,logDailyFile log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p [%t] %c{1} - %m%n log4j.logger.com.s…
遍历多个tomcat日志文件,找出含有ERROR 和Exception 的日志,并把该行日志输出到另一个文件中:(这里为了体现python模块导入的知识,所有建立了多个文件夹和模块) 项目结构: consetting.py: # 日志文件目录 F_PATH = r'C:\Users\shenping\PycharmProjects\Shenping_TEST\day_5\script\glive\logs' # 错误日志存储目录 D_PATH = r'C:\Users\shenping\Pych…
6月8日任务 12.10 Nginx访问日志12.11 Nginx日志切割12.12 静态文件不记录日志和过期时间 12.10 Nginx访问日志 除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加 [root@jimmylinux-001 vhost]# vim test.com.conf 重新加载配置文件后测试 [root@jimmylinux- vhost]# /usr/local/nginx/sbin/nginx -t nginx: the config…
11月27日任务 12.10 Nginx访问日志12.11 Nginx日志切割12.12 静态文件不记录日志和过期时间 1.Nginx访问日志 示例一: 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format $remote_addr 客户端IP(公网IP) $http_x_forwarded_for 代理服务器的IP $time_local 服务器本地时间 $host 访问主机名(域名) $request_uri 访问的url地址 $s…
问题描述: 今天有同事运行了一个docker容器,不多时就导致宿主机硬盘直接撑爆,消耗了120G,发生的很是突然. 问题排查: 后续查阅资料,发现是因为docker中的某个进程一直在持续输出,而这些输出会记录到docker日志中,日志默认位置在 /var/lib/docker/containers/containeid 目录下面的 containeid-json.log 文件中.执行命令 du -sh *,可以看大 log 文件非常大. 问题避免: 问题源头已经知道了,那么我们如何避免这种情况再…
此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 使用 webpack 的时候,难免需要写一些 loader,接着就会遇到一个很纠结的问题.该 loader 会生成一个文件,一般这个文件的生成时机都是在 loader 处理所有的文件后.一般有两种处理方案.一种是写一个 plugin,监听对应的事件:一种是生成一个临时文件,将每次读到的内容都写在 临时文件 中.第一种在使用的时候也很麻烦,需要同时在 loader 和 plugin 加一下对应的逻辑.第…
近期做的是对现有项目进行重构.WEB FROM改成MVC,其实也算是推倒重来了. 里面有一个导出功能,将数据输出成txt文件,供下载.原先的做法是有一个隐藏的iframe,在这个iframe的页面中设置一个表单form,将相关参数提交到服务器端:而在服务器端,是真的生成一个文件,然后再将文件内容往客户端推送. 好奇怪的做法啊.将内容导出,让用户下载,不必真的生成文件的,因为内容千变万化,没有一次生成,多次使用的可能和必要.完全可以将内容生成后,直接往客户端推送. 其次,我理解原先为何要用一个隐藏…
一.介绍日志切割logrotate 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过! logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节省磁盘空间.例如,你可以设置logrotat…
简单说明: 1,因为tomcat日志会一直往catalina.out里面输出,所以回到值catalina.out非常大,占用磁盘空间 2,日志非常大,查看日志就需要很长时间. 3,据说catalina.out日志超过2个G,程序崩溃时将有可能会启动失败并且不会有任何错误信息提示 所以,基于以上三点,所以需要对catalina.out进行切割. 我早期切割的方法是写脚本,原理就是讲catalin.out 复制一份,重新命名加上日期.然后再cat /dev/null > catalina.out 清…
目前我们的日志文件catalina.out累积后非常大,部分应用的catalina.out达到几十G并且还在持续增长. 日志文件太大不便于阅读和排查问题.业务增长不断增长,日志也在不断增加,为了以后便于快速定位问题.日志备份归档,建议进行catalina.out日志切割. 经过2019年7月12-2019年7月15测试和验证,可以修改log4j.properties配置来切割日志: log4j.appender.logfile=org.apache.log4j.DailyRollingFileA…
cronolog日志切割catalina.out (一)解压安装cronolog 1:wget  https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz  //下载cronolog 2:tar zxf cronolog-1.6.2.tar.gz     //解压cronolog 3:cd cronolog-1.6.2             //进入安装目录 4:./configure && make &&am…
tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法. 第1章 系统环境 1.1 操作系统环境 [root@server1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@server1 ~]# uname -r 2.6.32-431…
1.uptime日志脚本(每天记录) #!/bin/sh dir=/tmp/uptime_log process=`ps -ef|grep $|grep -v "grep" |grep -v "vim"|grep -v "ps"|wc -l` ];then echo $process exit; fi if [ ! -d $dir ];then mkdir -p $dir; fi while true do current_time=`date…
tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法. 第1章 系统环境 1.1 操作系统环境 1 2 3 4 5 6 [root@server1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@server1 ~]# uname -…
关于cronolog的用法查看:https://www.freebsd.org/cgi/man.cgi?query=cronolog&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE+and+Ports&format=html 或者使用man cronolog: [root@weblogic ~]# cronolog -h usage: cronolog [OPTIONS] logfile-spec -H NAME, --har…
Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7=`date -d "7 days ago" +%F` #catalina.out LogsCutting cd ${Tomcat_logs_path} && cp -f catalina.out catalina.${d}.log && echo >…
由于tomcat catalina.out日志不会自动分割, 一.日志分割所需包在附近中 1. 压缩包中有三个jar包: log4j-1.2.16.jar tomcat-juli-adapters.jar tomcat-juli.jar 说明:如果不是tomcat7版本,请去官网下载对应版本的tomcat-juli.jar,tomcat-juli-adapters.jar类包, 下载地址: http://www.apache.org/dist/tomcat   在对应版本中的bin/extras…
一.安装 软件 cronolog-1.6.2.tar.gz tar zxvf cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure && make && make install 二.配置 tomcat 找到 tomcat 中 bin 目录下的 catalina.sh   文件 1. 查找 if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT=/opt/htdocs/…
docker容器下tomcat 不向catalina.out输出日志解决 去掉 & 符号,直接 使用 ENTRYPOINT ["/data/tomcat/bin/startup.sh"] Dockerfile文件如下: FROM centos MAINTAINER fengjian <fengjian@senyint.com> ENV TZ "Asia/Shanghai" ENV TERM xterm ENV JAVA_HOME /data/jd…