精华内容
下载资源
问答
  • linux 查询 java 日志输出两份日志

    万次阅读 2015-01-14 14:58:11
    linux 中,我们经常会在运行一个 jar 程序之后随即打开它的 tail -f /xxx/out.log 功能,然后我们就发现一个奇怪的现象,就是所有的日志都被输出两行,而且日志的内容都是一样的,这个很奇怪,为什么呢?...

    在 linux 中,我们经常会在运行一个 jar 程序之后随即打开它的 tail -f /xxx/out.log 功能,然后我们就发现一个奇怪的现象,就是所有的日志都被输出两行,而且日志的内容都是一样的,这个很奇怪,为什么呢?

    通常我们的启动脚本这么写:

    #!/bin/sh
    java -jar dataInsertKeyword.jar &
    tail -f /data/logs/dataInsert/dataInsert.log


    因为我们通常在配置 log4j.properties 文件的时候就指定的如下的输出格式

    #config root logger
    log4j.rootLogger = DEBUG,stdout,rolling_file
    
    
    # Console Appender #
    log4j.appender.stdout = org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.encoding=UTF-8
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d[%p] %c[%M(%L)] - %m%n
    log4j.appender.stdout.Threshold=INFO
    
    
    
    # Rolling File #
    log4j.appender.rolling_file=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.rolling_file.Threshold=INFO
    log4j.appender.rolling_file.encoding=UTF-8
    #windows os
    log4j.appender.rolling_file.File=/data/logs/out.log
    #linux os
    #log4j.appender.rolling_file.File=/data/default/default.log
    log4j.appender.rolling_file.DatePattern='_'yyyy-MM-dd_HH
    log4j.appender.rolling_file.layout=org.apache.log4j.PatternLayout
    log4j.appender.rolling_file.layout.ConversionPattern=%d[%p] %c[%M(%L)] - %m%n

    这样就导致一个问题,本身在我们启动程序的时候,日志已经被输出到了 stdout 了,stdout 就是输出到控制台的意思,本来就输出一次了,然后我们又执行了

    tail -f /data/logs/dataInsert/dataInsert.log

    命令,吧日志又输出一次,所以我们会看到日志被打印两次,实际上是一次,只不过我们看到了两次而已。





    展开全文
  • grep查询关键字--指定时间数据grep "10:35" catalina.out查询时间段数据sed -n '/10:30:35/,/10:35:35/p' catalina.outLog位置:/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/...

    grep查询关键字--指定时间数据

    grep "10:35" catalina.out

    查询时间段数据

    sed -n '/10:30:35/,/10:35:35/p' catalina.out

    Log位置:

    /var/log/message 系统启动后的信息和错误日志,

    是Red Hat Linux中最常用的日志之一

    /var/log/secure 与安全相关的日志信息

    /var/log/maillog 与邮件相关的日志信息

    /var/log/cron 与定时任务相关的日志信息

    /var/log/spooler 与UUCP和news设备相关的日志信息

    /var/log/boot.log 守护进程启动和停止相关的日志消息

    tail

    参数:

    tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]

    参数解释:

    -f 该参数用于监视File文件增长。

    -c Number 从 Number 字节位置读取指定文件

    -n Number 从 Number 行位置读取指定文件。

    -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。

    -b Number 从 Number 表示的512字节块位置读取指定文件。

    -k Number 从 Number 表示的1KB块位置读取指定文件。

    File 指定操作的目标文件名称

    上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。

    tail可运行文件一般在/usr/bin/以下

    实例:

    1、tail -f filename 说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。

    2、tail -n 20 filename 说明:显示filename最后20行。

    3、tail -r -n 10 filename 说明:逆序显示filename最后10行

    head

    head 仅仅显示前面几行

    head -n 10 test.log 查询日志文件中的头10行日志;

    head -n -10 test.log 查询日志文件除了最后10行的其他所有日志

    grep

    grep [options]

    主要参数: [options]主要参数:

    -c:只输出匹配行的计数。

    -I:不区分大 小写(只适用于单字符)。

    -h:查询多文件时不显示文件名。

    -l:查询多文件时只输出包含匹配字符的文件名。

    -n:显示匹配行及 行号。

    -s:不显示不存在或无匹配文本的错误信息。

    -v:显示不包含匹配文本的所有行。

    pattern正则表达式主要参数:

    : 忽略正则表达式中特殊字符的原有含义。

    ^:匹配正则表达式的开始行。

    $: 匹配正则表达式的结束行。

    :到匹配正则表达式的行结束。

    [ ]:单个字符,如[A]即A符合要求 。

    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

    。:所有的单个字符。

    - :有字符,长度可以为0

    sed

    用sed命令

    sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

    cat

    cat主要有三大功能:

    1.一次显示整个文件。$ cat filename

    2.从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件.

    3.将几个文件合并为一个文件: $cat file1 file2 > file

    参数:

    -n 或 --number 由 1 开始对所有输出的行数编号

    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

    -v 或 --show-nonprinting 例: 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

    cat -n textfile1 > textfile2 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

    cat -b textfile1 textfile2 >> textfile3 把test.txt文件扔进垃圾箱,赋空值test.txt

    cat /dev/null > /etc/test.txt 注意:>意思是创建,>>是追加。千万不要弄混了

    tac (反向列示)

    tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上, 而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

    混合使用命令

    A. tail web.2016-06-06.log -n 300 -f 查看底部即最新300条日志记录,并实时刷新

    B. grep 'nick' | tail web.2016-04-04.log -C 10 查看字符‘nick’前后10条日志记录, 大写C

    C. cat -n test.log |tail -n +92|head -n 20 tail -n +92表示查询92行之后的日志

    head -n 20 则表示在前面的查询结果里再查前20条记录

    展开全文
  • nohup不输出日志信息修改start.sh文件.jar >/dev/null 2>./log/spring.log最近项目中使用的springboot打的jar包,放到服务器上跑,为了防止关闭终端窗口导致程序挂掉,采用nohup和&组合命令来操作命令...

    一. nohup不输出日志信息

    修改start.sh文件

    .jar >/dev/null 2>./log/spring.log

    最近项目中使用的springboot打的jar包,放到服务器上跑,为了防止关闭终端窗口导致程序挂掉,采用nohup和&组合命令来操作

    命令如下 :

    nohup java -jar test.jar &

    但是这种方式启动项目会默认生成一个nohup.out的文件来记录日志,而且这个文件太占磁盘内存了,几天下来发现这个文件大小有好几个G,所以为了减少磁盘被大量消耗,决定启动项目时不输出nohup.out文件。

    解决方案如下:

    只输出错误信息到日志文件

    nohup java -jar yourProject.jar >/dev/null 2>log &

    什么信息也不要

    nohup java -jar yourProject.jar >/dev/null 2>&1 &

    1. >/dev/null

    这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。

    2. 2>&1

    这条命令用到了重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。

    linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。

    /dev/null 属于字符特殊文件,属于空设备,它是一个特殊的设备文件,会丢弃所有一切写入其中的数据,写入它的内容都会永远丢失。一般会把/dev/null当成一个垃圾站,所有不需要的信息丢进去。

    3. Linux的重定向

    0:表示标准输入;

    1:标准输出,在一般使用时,默认的是标准输出;

    2:表示错误信息输出。

    4. 总结

    nohup python -u Job.py >/dev/null 2>error.log 2>&1 &

    表示将Job.py程序的错误信息输出到error.log 文件,其他信息丢进/dev/null。

    nohup python -u Job.py >/dev/null 2>&1 &

    表示将Job.py程序的错误信息重定向到标准输出,其他信息丢进/dev/null。

    二. union all查询

    SELECT st.* FROM(

    SELECT a.id ,a.AGE_CODE AGE,NULL sta FROM T_LOST_PEOPLE a

    union all

    SELECT b.id ,null AGE ,b.APPROVAL_STATUS sta from T_LOST_THINGS b) st

    两个不同表的数据有重复的字段时,字段要互相对应上,没有的字段用null来代替,但union all前面要查询的字段没有时,null需要起别名才能查到。

    三. git pull报错

    报错日志

    error: Your local changes to the following files would be overwritten by merge:

    问题.txt

    Please commit your changes or stash them before you merge.

    输入以下命令即可

    git stash

    git pull origin master

    git stash pop

    展开全文
  • 场景描述早上起来使用jenkins自动化部署时,发现日志中提示磁盘已满的问题,在查询解决此问题的过程中,有很多博客都建议修改构件保存天数。笔者在自动化部署的设置过程中,本身设置的保存天数就很小。然后查看一下...

    场景描述

    早上起来使用jenkins自动化部署时,发现日志中提示磁盘已满的问题,在查询解决此问题的过程中,有很多博客都建议修改构件保存天数。笔者在自动化部署的设置过程中,本身设置的保存天数就很小。然后查看一下磁盘的使用情况,发现root分区已使用100%。只能使用修改分区的方式进行修改了。 在此问题出现的头一天晚上,重启了一下服务器,然后rabbitmq就再也启动不起来了,查看日志文件,网上也说是因为磁盘已满的问题。 早上过来发现,showdoc也挂掉了,但是挂掉一段时间之后自动又好了。

    解决过程

    查看磁盘使用情况

    [root@dev ~]# df -h
    文件系统                     容量  已用  可用 已用% 挂载点
    /dev/mapper/centos_dev-root  118G  118G   20K  100% /
    devtmpfs                      32G     0   32G    0% /dev
    tmpfs                         32G     0   32G    0% /dev/shm
    tmpfs                         32G  9.8M   32G    1% /run
    tmpfs                         32G     0   32G    0% /sys/fs/cgroup
    /dev/sda1                   1014M  186M  829M   19% /boot
    /dev/mapper/centos_dev-home  7.2T   26G  7.2T    1% /home
    tmpfs                        6.3G     0  6.3G    0% /run/user/0

    备份home

    [root@dev ~]# cp -r /home/ /dev/homebak

    卸载home

    [root@dev ~]# umount /home

    删除home所在的lv

    [root@dev ~]# lvremove -y /dev/mapper/centos_dev-home
      Logical volume "home" successfully removed

    显示lvm卷组信息

    [root@dev ~]# vgdisplay
      --- Volume group ---
      VG Name               centos_dev
      System ID
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  5
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               7.27 TiB
      PE Size               4.00 MiB
      Total PE              1907041
      Alloc PE / Size       38240 / <149.38 GiB
      Free  PE / Size       1868801 / <7.13 TiB
      VG UUID               js7DO7-igaq-Si7p-lAef-PkXA-FS3W-5hnfSu

    扩展root所在的lv

    [root@dev ~]# lvextend -L +3T /dev/mapper/centos_dev-root
      Size of logical volume centos_dev/root changed from 118.00 GiB (30208 extents) to <3.12 TiB (816640 extents).
      Logical volume centos_dev/root successfully resized.

    扩展root文件系统

    [root@dev ~]# xfs_growfs /dev/mapper/centos_dev-root
    meta-data=/dev/mapper/centos_dev-root isize=512    agcount=4, agsize=7733248 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=30932992, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=15104, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 30932992 to 836239360

    重新创建home的lv

    [root@dev ~]# lvcreate -L 4T -n home centos_dev
      Logical volume "home" created.

    创建home文件系统

    [root@dev centos_dev]# mkfs.xfs /dev/centos_dev/home
    meta-data=/dev/centos_dev/home   isize=512    agcount=4, agsize=268435455 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=1073741820, imaxpct=5
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=521728, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0

    挂载home并恢复备份

    [root@dev centos_dev]# mount /dev/centos_dev/home /home
    [root@dev centos_dev]# cp -r /dev/homebak/ /home/
    [root@dev ~]# df -h
    文件系统                     容量  已用  可用 已用% 挂载点
    /dev/mapper/centos_dev-root  3.2T  118G  3.1T    4% /
    devtmpfs                      32G   26G  6.3G   81% /dev
    tmpfs                         32G     0   32G    0% /dev/shm
    tmpfs                         32G  9.8M   32G    1% /run
    tmpfs                         32G     0   32G    0% /sys/fs/cgroup
    /dev/sda1                   1014M  186M  829M   19% /boot
    tmpfs                        6.3G     0  6.3G    0% /run/user/0
    /dev/mapper/centos_dev-home  4.0T   29G  4.0T    1% /home

    参考链接

    https://blog.csdn.net/huqigang/article/details/79710201blog.csdn.net

    欢迎访问我的GitHub主页:

    zeanzai/Java-Linuxgithub.com
    79b3c56421336147c093be198cde6afa.png

    还有我的个人主页:

    天晴小猪zeanzai.me

    谢谢啦~

    展开全文
  • #!/bin/bash #jar包文件路径及名称(目录按照各自配置) ...#查询进程,并杀掉当前jar/java程序 pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'` kill -9 $pid echo "$pid kill succ
  • 文章目录背景:工作中平时使用到的linux命令1,cd ...tail -f xx.log 动态查询日志8,sz ,rz 上传下载文件9,jps -l 查看linux上有哪些运行的包10,ps -ef |grep xx 查看进程11,java -jar 启动jar 包,sh ./boot rest
  • 查询当前目录下的所有文件大小:du -sh *  删除文件:rm - rf xxx.log 打印日志:tail -f xxx.log 查看进程ps -ef | grep java | grep -v grep 杀死客户端kill -9 14569 - 启动客户端cd / usr / spider / ./run...
  • Java面试题66:如果查询和定位慢查询.mp4 │ Java面试题67:数据库优化之数据库表设计遵循范式.mp4 │ Java面试题68:选择合适的数据库引擎.mp4 │ Java面试题69:选择合适的索引.mp4 │ Java面试题70:使用索引...
  • linux下安装tomcat

    2018-11-12 19:21:28
    操作系统: CentOS 7.4 64位 将下载好的tomcat压缩文件上传,解压 ...查询启动日志 tail -f logs/catalina.out 错误解决 1. 启动报错 报下面的错误是找不到java的jre /usr/local/src/tomcat/tomcat-8.0.53-808...
  • linux jar包 后台运行

    2021-01-11 16:22:31
    1、java -jar xxx.jar(运行jar包的文件名) 运行这个命令,程序会启动但这种方式会占用当前窗口 使用ctrl+c可以返回 ...将程序启动日志存储至nohup文件中 3、查询进程的可以使用 ps aux | grep .
  • linux常用命令(1)

    2019-09-21 08:28:00
    查询目录下文件 ls 查询目录下目录或者文件的详情 ll 查询进程 ps -ef|grep java 根据端口查询进程 netstat -lnp | grep8000 ...结束58372进程:kill -958372 ...进入启动程序目录下查看进程日志 tail -3...
  • linux 查用的命令

    2020-07-08 17:38:50
    启动jar包 nohup java -jar pcp.jar >pcp.log 2>&1 & --运行jar包并将日志写入到xxx.log中 tail -f pcp.log --查看日志文件 查看端口 查看10999端的服务 netstat -apn|grep 10999 查询文件 ...
  • 创建文件夹/文件命令以及清除模式 mkdir +文件夹名字 ...查询linux下所有启动的线程: ps -ef|grep java Hadoop下日志文件logs内容,(位于/opt/bigdata/hadoop-3.2.1/logs/hadoop-hadoop-namenode-nod...
  • netstat -an | grep 8081 查看8081端口是否开启,开启下面有信息,没有开启,下面没有信息 ...启动之前现在项目目录下新建日志文件,如果有就不需要, touch consoleMsg.log 启动 nohup java -jar SpringbootSchoolSho
  • 1.切换到文件目录:cd /目录名称 (如:cd /usr/local/java/) ...3.查询java运行进程 :ps -ef|grep java 或者ps -elf | grep 项目名(如 :ps -elf | grep confluence_manage) 4.打印实时日志:...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...
  • 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...
  • 在jar包文件夹下运行 nohup Java -jar xxxxxx.jar & ctrl + c 退出控制面板,系统不...//8089是系统启动访问的端口, 由此可得到9578 是java运行的端口 关闭系统: kill 9578 //9578是上面查询出来的端口 ...
  • 项目里打印日志用的 org.jboss.logging.Logger,在Linux上用nohup java -jar 启动的jar包,发现程序抛异常的时候只有在nohup.out里打印,在log.txt文件里没有打印,所以把Exception的堆栈信息转成String打印到...
  • RED HAT LINUX 6大全

    热门讨论 2011-10-21 18:46:06
    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...
  • 上网查询资料,判断应该是跟重定向和Linux缓冲区有关,标准输出为行缓冲,文件为全缓冲,可以使用stdbuf -oL [command]来实现重定义缓冲区类型,于是将原先的启动脚本中的nohup java ... &改为...
  • 我把原先的驱动删除掉以后会报错,我把 mysql-connector-java-5.1.7-bin.jar这个驱动也放在了/usr/local/mysql/下并且删除了原有驱动,可以正常启动,同样有乱码。 mysql的连接参数中加了这样的语句 useUnicode=...
  • 实例008 启动Tomcat并测试 实例009 通过Eclipse部署与发布Web应用 实例010 修改Tomcat服务器的端口号 实例011 配置Tomcat的虚拟主机 实例012 在Tomcat下如何手动部署Web应用 实例013 Tomcat如何制定主机访问 ...
  • 项目常用命令

    2019-12-20 11:23:45
    查询JAVA路径:ls -lrt /etc/alternatives/java 关闭防火墙:systemctl stop firewalld.service 开启防火墙:systemctl start firewalld.service linux项目常用: cd …/logs/ tail -f catalina.out 查看启动日志 ps...
  • 2020-06-10

    2020-06-10 14:37:06
    记录一次linuxjava进程的cpu使用率过大问题 将项目部署到linux上时,启动项目,过了两分钟,cpu使用率达到800%. 使用top 命令查看,top -p 12368,发现cpu利用率居高不下,使用命令jstack -l 12368 > js tack....
  • 快速发布springboot项目

    2019-06-05 15:35:53
    5.执行java -jar来启动项目新版本 6.如果放在后台执行,则还需要打印nohup.out看日志,确定项目是否正常启动 用了这个shell,配置1~3个参数后,发布只需两步: 1.上传jar文件 2.执行 sh quick_start.sh projectname...
  • 15.1 ElasticSearch 15.2 Docker 15.3 Linux 15.1 ElasticSearch应用 分布式全文搜索引擎 ES在大数据下更快,小数据查询solr更快 ES仅支持JSON,solor支持JSON,xml,csv ES自带分布式协调者,solr用Zookeeper ...
  • 9.3.2 查询profiler日志 9.4 索引管理 9.5 本章小结 第10章 性能优化 10.1 优化方案 10.1.1 优化方案1:创建索引 10.1.2 优化方案2:限定返回结果条数 10.1.3 优化方案3:只查询使用到的字段,而...

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

linux查询java启动日志

java 订阅
linux 订阅