linux日志审计命令 centos7日志审计

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系统上记录MYSQL操作的审计日志根据笔者上一篇文章—Linux系统上记录用户操作的审计日志。本文来利用相同的方法记录MYSQL操作的审计日志 。
使用用mysql工具连接MySQL server的所有操作会默认记录到~/.mysql_history文件中,这个文件会把所有操作记录下来,包括创建用户和修改用户的明文密码 , 这在生产系统上是不安全的 。如果不想保存,仅仅删除是不行的(文件不存在会再建立),要直接将其软连接到垃圾箱 。
ln-s/dev/null~/.mysql_history
利用上一篇文章相同的方法记录MYSQL操作的审计日志 , 是因为mysql工具本身就是有一个shell, 每次mysql连接退出后,都会把此次操作的信息记录到~/.mysql_history文件中 。那么可以重新定义MYSQL_HISTFILE环境变量来保存mysql日志 。
先看置于/etc/profile.d目录下的环境变量的脚本mysql_history.sh,和loginlog类似 。
在测试时 , 发现平时使用的普通用户在操作mysql后无法记录 , 而root用户(平时没有操作过mysql)可以记录成功 。后来在在~/.mysql_history文件找到了操作记录 , 估计是这个文件还存在的原因,删除后才记录到新的MYSQL_HISTFILE定义的路径 。
和loginlog一样,需要定期删除过期日志,以下脚本置于/etc/cron.weekly 目录下 。
delete_time=15
find /opt/mysqllog/-mtime +$delete_time -name '*.log' -exec rm -r {} \;
但是相比于loginlog , mysqllog有两点暂时没有解决 。
1、定义最大的记录条数history.maxSize不知在哪定义,my.cnf?
2、每一条命令的时间记录添加 。
linux查看日志命令linux查看日志命令linux日志审计命令:
taillinux日志审计命令:
-n是显示行号;相当于nl命令;例子如下:
tail -100f test.log实时监控100行日志 。
tail -n 10 test.log查询日志尾部最后10行的日志 。
tail -n +10 test.log查询10行之后的所有日志 。
head:
跟tail是相反的linux日志审计命令,tail是看后多少行日志;例子如下:
head -n 10 test.log查询日志文件中的头10行日志 。
head -n -10 test.log查询日志文件除了最后10行的其他所有日志 。
cat:
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep "debug"查询关键字的日志 。
命令功能:
tail用于显示指定文件末尾内容 , 不指定文件时,作为输入信息进行处理 。常用于查看日志文件后多少行日志信息 。

推荐阅读