multitail

Linux 下 4 种实时监控日志文件的方法,总有一种适合你

夙愿已清 提交于 2020-11-04 16:34:56
来源:GitHub 链接:http://t.cn/AiKIk7c3 在 Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令 了。 1. tail Command – Monitor Logs in Real Time 如前所述, tail 命令是实时显示日志的最常用的方法。不过该命令有两个版本,如下所示。 第一个例子是为 tail 命令加上 -f 参数。 $ sudo tail -f /var/log/apache2/access.log 第二个例子就是 tailf 命令。它本身内建了 -f 参数,因此你无需再为它指定 -f 参数。 $ sudo tailf /var/log/apache2/access.log 通常 Linux 服务器上的日志都是轮转日志。这种情况下,你需要用 -F 参数。 tail -F 会监控是否创建了新日志(所谓新日志指的是同一个名字,但是 fd 不一样的日志文件),并且会转而显示新日志的内容,而不是老文件的内容。 $ sudo tail -F /var/log/apache2/access.log 然而,默认情况下 tail 命令只会显示文件最后 10 行的内容。如果你只想在实时模式下查看最后两行的内容,那么可以连用 -n 和 -f 参数,如下这样: $ sudo tail

实用的 Linux 高级命令

江枫思渺然 提交于 2020-04-12 10:07:14
# 找出当前系统内存使用量较高的进程 ps -aux|sort -rnk 4|head -10 输出的第 4 列就是内存的耗用百分比。最后一列就是相对应的进程。 # 找出当前系统 CPU 使用量较高的进程 ps -aux|sort -rnk 3|head -10 输出的第 3 列为 CPU 的耗用百分比,最后一列就是对应的进程。 # 同时查看多个日志或数据文件—— multitail yum -y install multitail 查看 secure 的日志指定过滤关键字输出,又想查看实时的网络 ping 情况: multitail -e "Accepted" /var/log/secure -l "ping baidu.com" # 持续 ping 并将结果记录到日志 命令: ping baidu.com|awk '{ print $0" " strftime("%Y-%m-%d %H:%M:%S" ,systime())}' >/tmp/lrj.log & # 查看 tcp 连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn # 查找 80 端口请求数最高的前 20 个 IP netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'