在日常工作中,我们经常需要查看日志,比如可以通过 tail 命令实时查看日志,也可以通过 cat 等命令查看日志信息。...但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以 cat 命令来进行学习。...假设存在日志文件 hrun.log,查询的关键字为”新增用户”: 根据关键字查看日志 cat hrun.log | grep “新增用户” 根据关键字查看后10行日志 cat hrun.log |...grep “新增用户” -A 10 根据关键字查看前10行日志 cat hrun.log | grep “新增用户” -B 10 根据关键字查看前后10行日志,并显示出行号 cat -n hrun.log...-n 50 说明: -A 表示关键字之后,After -B 表示关键字之前,Before -C 表示关键字前后,Context 以上就是本次介绍的关于Linux日志中查找关键字的全部知识点内容,感谢大家的学习和对
只不过对于空白行不编号 -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 –show-nonprinting 2、more命令: 以百分比的形式查看日志...注意: 最后一条命令非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。
linux查看日志文件内容命令tail、cat、tac、head、echo tail -f test.log 你会看到屏幕不断有内容被打印出来....这时候中断第一个进程Ctrl-C, ————————— linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示1000行。...—————————————— 在Linux中echo命令用来在标准输出上显示一段字符,比如: echo “the echo command test!”
linux存在很好的日志机制,大到系统,小到应用都可以记录日志。 为什么需要日志循环 操作系统(Windows,Unix),应用一般都会记录日志,方便使用者常看系统或应用使用情况,或者排查故障。...单纯的记录日志不加干预,日志不断累积,时间长了,磁盘空间就被占满了。 所以,在linux中,日志一般会按一定的规则进行循环,保证日志量控制在一定的范围内。...日志循环的方法 日志循环的原理一般是:在特定的时间点,或日志达到一定大小,就触发循环脚本。 循环脚本通过新增新日志,备份老日志,调度应用重新加载配置(重新写日志)达到日志循环的目的。...}` 该方法通过mv+kill的方式进行日志循环,因为linux中,日志打开底层原理是通过inode信息寻址找到对应的block进行内容读取,mv操作不改变文件的inode值。...2. logrotate循环 logrotate是一个日志循环的工具,linux内置的syslog也是使用它进行日志循环。
我们用的常见的思路 1.直接删除日志文件 2.删除我们自己 ip 的日志内容 3.rm -rf / 如果直接删除文件,那么管理员也会从别的地方下手.或者恢复文件之类的....当然.我还是建议使用 python 完成这项工作..当日志超过10w 或者100w 级以上的数量 . bash 的执行速度就会显得极其鸡肋.
joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/291 常用命令 find、grep 、egrep、awk、sed Linux...中常见日志以及位置 /var/log/cron 记录了系统定时任务相关的日志 /var/log/auth.log 记录验证和授权方面的信息 /var/log/secure 同上,只是系统不同 /var...log/auth.log、/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中...IP有哪些 grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more //登录成功的日志
为了让 管理者可以随时监控服务所产生的信息,Linux 提供了一个日志服务,该服务可以收集(Collect)任何服务传递过来的信息,储存成为记录文件(Log File) 、或直接传送给某些用户,甚至也可以传送到其他计算机的系统日志服务...日志的作用 系统方面的问题 linux系统长时间运行,可能会出现一些软件,硬件方面的问题,这些问题都会记录到日志文件中,我们可以通过查看相应的日志文件,找出问题所在 网络服务的问题 网络服务在运行过程中产生的信息都会记录到日志文件中...所以linux系统提供了一个日志切割工具,这个工具就是logrotate,用户可以用过这个工具对日志文件进行切割,系统也利用这个工具配合计划任务服务,定期的对系统日志进行切割。...现在linux系统采用systemd来管理系统服务,而systemd又是第一个启动的服务,所以现在我们通过一个systemd自带的,名字叫systemd-journald的服务来协助记录日志信息。...虽然我们有相关的工具来查看日志信息,但是如果信息量过大的话查看起来也是比较费时的,所以linux系统给我们提供了一个日志分析工具,这个工具叫logwatch,它会每天分析日志信息,并将信息通过邮件的形式发送给
linux 软件 syslog syslog-ng(next generation) 日志系统:syslog 负责统一记录日志 syslog服务: syslogd:系统,非内核产生的信息。...klogd:内核,专门负责记录内核产生的日志信息。...:日志切割 messge -->message1--->message2 日志轮转条件 /var/log/messages:系统标准错误日志信息。.../var/log/secure:系统认证,安全日志。...chkconfig --list rsyslog servcie rsyslog status 配置文件 信息的详细程度:日志级别 定义不同日志信息 子系统:facility:设施 动作:action
# Linux 日志管理 # 基本介绍 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。...原理示意图 查询Linux中的rsysloged服务是否启动 ps aux | grep "rsyslog" / grep -v "grep" 查询rsyslogd服务的自启动状态 systemctl...sshd服务相关事件),该文件会接收到信息并保存.给小伙伴演示重启,登录的情况,看看是否有日志保存 # 日志轮替 # 基本介绍 日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后...这样日志文件名不会重叠,也就不需要日志文件的改名,只需要指定保存日志个数,删除多余的日志文件即可。 如果配置文件中没有“dateext”参数,日志文件就需要进行改名了。...在此关键字之后的脚本只执行一次 prerotate/endscript 在日志轮替之前执行脚本命令 postrotate/endscript 在日志轮替之后执行脚本命令 # 把自己的日志加入日志轮替
22 192.168.1.88:53505 ESTABLISHED 5923/sshd: root@pts (3)历史ssh 隐匿登录行为通过分析/var/log/secure 日志...(有的系统是/var/log/auth.log) #通过分析/var/log/secure 日志有的系统是/var/log/auth.log 从 Accepted publickey for root
基本介绍日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后,就会进行删除2....这样日志文件名不会重叠,也就不需要日志文件的改名, 只需要指定保存日志个数,删除多余的日志文件即可。3) 如果配置文件中没有“dateext”参数,日志文件就需要进行改名了。...当第一次进行日志轮替时,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志, 用来保存新的日志。...missingok 如果日志不存在,则忽略该日志的警告信息notifempty 如果日志为空文件,则不进行日志轮替minsize 大小 日志轮替的最小值。...sharedscripts 在此关键字之后的脚本只执行一次。prerotate/endscript 在日志轮替之前执行脚本命令。postrotate/endscript 在日志轮替之后执行脚本命令。
192.168.1.88:53505 ESTABLISHED 5923/sshd: [email protected] (3)历史ssh 隐匿登录行为通过分析/var/log/secure 日志...(有的系统是/var/log/auth.log) #通过分析/var/log/secure 日志有的系统是/var/log/auth.log 从 Accepted publickey for root
Linux 常见的登录日志文件 登录文件可以帮助我们了解很多系统重要的事件,包括登入者的部分信息,因此登录文件的权限通常是设定为仅有 root 能够读取而已。...CentOS 7.x 使用 systemd 提供的 journalctl 日志管理 CentOS 7 除了保有既有的 rsyslog.service 之外,其实最上游还使用了 systemd 自己的登录文件日志管理功能喔...18.2 rsyslog.service:记录登录文件的服务 上一小节提到说 Linux 的登录档主要是由 rsyslog.service 在负责,那么你的 Linux 是否有启动 rsyslog 呢?...我们将上面的数据简单的分为三部分来说明: 服务名称 rsyslogd 主要还是透过 Linux 核心提供的 syslog 相关规范来设定数据的分类的,Linux 的 syslog 本身有规范一些服务讯息...此外,未来在 /run/log 底下就没有相关的日志可以观察了!因为移动到 /var/log/journal 底下来!
for dir in `awk '{print $1}' /root/dirlist.txt`
因为懒,很多时候排查问题起来太依赖可视化工具了,就导致很多Linux命令忘记了。...查找文件 find find命令:http://linux.zanglikun.com/c/find.html 通配符查找 可以搭配 grep 快速找到你需要的日志 比如 find / -name "*...name "*.log" 查找指定目录下的 某前缀下的文件 find /home/myoutput/heartzbeat -name "*.log" 查找文件中指定信息 grep 详细教程:http://linux.zanglikun.com.../c/grep.html 可快速查看 某目录或某具体文件 里是否包含 某个文本 信息 grep -r "error" /var/log 查看并搜索日志 less less命令:http://linux.zanglikun.com...字符串:向上搜索"字符串"的功能 n:继续向后搜索 N:向前搜索 b: 向后翻一页 实时查看日志 tail tail命令:http://linux.zanglikun.com/c/tail.html tail
该程序使用场景说明:主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人。...至此邮件功能测试正常,接下来是关键字监控脚本的编写工作,通过日志关键字脚本触发邮件告警脚本实现日志监控 二、关键字监控脚本开发 CheckLogs.sh 日志监控程序 SendMail.sh 发邮件脚本...初次执行CheckLogs.sh脚本会读取日志文件并记录当前读取的行数 ? 后续运行脚本则读取更新日志,例如当前日志更新了9行数据,则脚本从最新的9行数据获取关键字 ?...测试插入关键字error ? 继续执行脚本可以看到已捕获关键字并触发告警 ? 测试多关键字 ? 再次执行可以看到已捕获最新更新的日志信息 ? 测试频率控制 ? 至此相关功能测试已完成。...-e "$chkfile";then echo "#日志文件,关键字(多关键字|隔开),重试次数,最大执行次数,启动命令,停止命令" >$chkfile fi #生成日志函数 do_writelog
1 问题 比如我们在查问题的时候,需要过滤多个关键字,我平时的做法是一个终端执行下面的命令,然后几个关键字就几个终端,切换来切换去不方便看日志 adb logcat | grep **** 2 改进办法...今天看到同事用了grep -E,我们可以通过-E这个参数过滤多个关键字,比如 adb logcat | grep -E "word1 | word2" 还比如过滤3个 adb logcat | grep...-E "word1 | word2 | word3" 老铁们,依次类推,还有我们要记得grep -i 是忽略大小写过滤日志 adb logcat | grep -i word1 总结 以上就是这篇文章的全部内容了
该程序使用场景说明:主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人。...至此邮件功能测试正常,接下来是关键字监控脚本的编写工作,通过日志关键字脚本触发邮件告警脚本实现日志监控 二、关键字监控脚本开发 CheckLogs.sh 日志监控程序 SendMail.sh 发邮件脚本...初次执行CheckLogs.sh脚本会读取日志文件并记录当前读取的行数 ? 后续运行脚本则读取更新日志,例如当前日志更新了9行数据,则脚本从最新的9行数据获取关键字 ? 测试插入关键字error ?...继续执行脚本可以看到已捕获关键字并触发告警 ? 测试多关键字 ? 再次执行可以看到已捕获最新更新的日志信息 ? 测试频率控制 ?至此相关功能测试已完成。 END.
includedir /etc/my.cnf.d 则 # vim /etc/my.cnf.d/server.cnf 没有就是 # vim /etc/my.cnf #在mysqld标签下添加 #指定错误日志保存位置...log-error=/test_log/mysql_log/error.log #开启通用查询日志 general_log=ON #指定通用查询日志保存位置 general_log_file=/test_log.../mysql_log/mysql.log #开启慢查询日志 slow_query_log=on #记录超过1秒的SQL执行语句 long_query_time=1 #指定慢查询日志的保存位置 slow-query-log-file
在 Linux 系统中,日志文件记录了系统中包括内核、服务和其它应用程序等在内的运行信息。 在我们解决问题的时候,日志是非常有用的,它可以帮助我们快速的定位遇到的问题。...在该目录中,你可能注意到很多日志文件末尾包含一串数字(如 maillog-20150301 ),这说明这些日志文件经过了日志转储,这样可以避免日志文件过大。...除了前置符号外,可以使用符号* 表示所有的设施或者优先级,对优先级部分使用none关键字会捕获所有没有指定优先级的消息。...通过网络发送syslog rsyslog可以使用网络将日志消息发送或者接受日志,使用这个特性,可以实现使用单一的日志服务器统一管理多台服务器日志。...LogHeader, PROCID: 13845, MSGID: - 声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/%e5%8d%81-linux
领取专属 10元无门槛券
手把手带您无忧上云