linux命令行日志输出 linux 命令日志
linux 日志查看 有新的自动输出
具体如下:
创新互联是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站建设、成都网站制作、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
1.首先为了演示应用程序输出信息,这里我们选择tomcat的日志输出文件来演示,当然也可以选择您自己任意的应用程序。这里我们连接上linux服务器之后,cd命令切换到tomcat的logs目录
2.要想自动打印显示出程序输出信息,这里需要使用到tail命令,首先我们使用mantail命令查看下tail命令的帮助信息。tail命令是默认打印最后10行信息,从帮助信息中,可以看到-f跟随的意思,就是在有新的输出信息的...
3.输入tail-fcatalina.out,从打印信息中可以看出,默认输出了最后的10行信息,并且命令没有退出,等待新的信息输出,这个时候如果程序有新的输出,会自动打印出来
4.tail命令默认一开始是显示之前的10行,如果不够的话,可以指定,这里可以输入tail-40fcatalina.out
Linux用户命令记录
很多情况下我们需要记录用户执行过的命令,不管是root还是其他普通用户,我们可以通过以下方式来记录。
PROMPT_COMMAND会在命令执行前执行。
$(who am i |awk '{print \$2,\$5}') 会输出登录用户用的tty和登录服务器的远程电脑IP或者主机名。
$PWD 是内建变量,显示当前执行命令的工作目录。
history 1 | { read x cmd; echo ${cmd}; 会输出最后一条历史命令中的执行信息。
为了不让用户修改变量,使用 declare -rx 命令定义了只读环境变量。这里要注意使用 readonly 命令也可以定义只读变量,但是用户用env命令看不到,只有用 export PROMPT_COMMAND 命令将变量设置为环境变量后才能看到。
变量加到 /etc/bashrc 是因为用户登录后会加载这里的配置,包括 sudo sudo su sudo su - su root su - root 。如果加到其他文件里则部分命令后就不会加载变量,自行尝试。
修改rsyslog是可以自定义日志输出的文件路径和名字,用 logger -p 这个命令配合使用。
新增logrotate配置则是需要切割日志,防止单个日志文件太大,以及做好切割备份,方便查询。
【一】
在 /etc/profile 最后添加如下行,则日志会直接输出到 messages 日志里。
这种方式:不定义日志格式,直接将日志写到messages日志文件里,和其他日志放一起,但是可以指定日志标签,方便检索。
缺点是(1)会导致日志增大,并且用户提权后因-t标签的存在,导致不会记录提权前的用户。(2)不能自定义日志路径。
【二】
缺点:用户可以删除日志文件。
因为普通用户和root都要往日志文件里写,所以需要给普通用户加一个附加组;并且如果日志文件不存在,普通用户登录后也需要新建,所以普通用户必须有日志文件父目录的写权限。为了能让所有普通用户都可以写,就给Command目录加了SGID权限以及修改目录属组为audit。这样普通用户在这个目录下创建的日志文件的属组会自动继承Command目录的属组,也就是audit。 (umask 002 touch $HISTORY_FILE) 命令则是因为root用户生成的日志文件权限是644,属组没有写权限。所以这里用 启动子shell并修改umask的方式生成日志文件。这样就不会修改root默认的 0022 的umask。
其他审计软件:
免费2个月
Linux查看系统日志的一些常用命令
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f 记录文件 指定记录文件。
-n 显示列数或-显示列数 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的'命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
Linux下运行springboot项目jar包,启动日志输出教程
启动之后,会在jar所在目录生成一个nuhup.log日志文件,记录控制台的日志输出。
备注:主要看符号两边: "" 对应输出什么和输出到哪里;
输出分为标准输出和错误输出,标准输出就是全输出,输出控制台信息;错误输出只是输出错误日志信息;
因此上面我们执行的 ***.jar nohup.log 21命令,可以拆解成 nohup.log 和 2 1两个输出,只看符号“”左边输出部分,分别代表默认标准输出到一个地方,然后错误日志输出到另一个地方,咱们后面再讲输出到什么地方。
输出到哪,分为输出到指定路径日志文件和重定向位置。
1.指定路径:如下: /data/work/log.log 这样便是指定输出到路径/data/work/log.log文件。
Linux上有一个特例路径/dev/null ,这路径就好像永久删除的回收站,当我们不需要输出任何信息时,就可以将输出指向/dev/null,那就不会有任何输出文件。
2.至于重定向,就是将文件重定向到一个地址,如下:
1 重定向到标准输出的地址,啥意思,就是输出到已指定的标准输出的地址。
2 重定向到错误输出的地址,就是输出到已指定的错误输出的地址。
比如nohup.log 21 ,意思是前面默认标准输出到了nohup.log日志下,后面错误输出也指向标准输出的地址,也即nohup.log日志下。
命令后面加的 ,可让命令在后台执行,否则关闭会话会停止程序。
(1)nohup java -jar ***.jar /data/log.log 2/data/err.log
解释:标准日志输出到/data/log.log文件,错误日志输出到/data/err.log文件。
(2)nohup java -jar ***.jar /data/log.log 21
解释:标准日志输出到/data/log.log文件,错误日志重定向也输出到/data/log.log文件。
(3)nohup java -jar ***.jar /dev/null 2/data/err.log
解释:标准日志输出到/dev/null,也就是不输出标准日志,错误日志输出到/data/err.log文件。
一般采用上面(3)只输出错误日志就可以了,有需要的按照(1)进行输出。
linux查看日志的命令是?具体怎么用
Linux查看日志的命令有很多,比如tail、cat、tac、head、echo等,今天给大家介绍几种常用的方法:
1、tail-实时查看变化的日志
命令格式:tail [必要参数][选择参数][文件]
-f:循环读取
-q:不显示处理信息
-v:显示详细的处理信息
-c数目:显示的字节数
-n行数:显示行数
-q, --quiet, --silent:从不输出给出文件名的首部
-s, --sleep-interval=S:与-f合用,表示在每次反复的间隔休眠S秒
2、head
跟tail相反,head是看日志的前多少行
head -n 10 test.log:查询日志文件中的前10行日志;
head -n -10 test.log:查询日志文件除了最后10行的其他所有日志;
3、cat-搜索关键字附近的日志
cat是由第一行到最后一行连续显示在屏幕上
最常用的命令:cat -n filename | grep "关键字"
cat app.log | grep -C 5 '关键字':显示日志里匹配字串那行以及前后5行;
cat app.log | grep -B 5 '关键字':显示匹配字串及前5行;
cat app.log | grep -A 5 '关键字':显示匹配字串及后5行;
4、more
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
more的语法:more 文件名
文章名称:linux命令行日志输出 linux 命令日志
文章链接:http://pwwzsj.com/article/doosioc.html