标签: tail

Bash 编辑文件并保留最后 500 行

我正在寻找创建一个 cron 作业,它打开一个目录循环遍历我创建的所有日志并删除所有行,但例如保留最后 500 行。

我在想一些类似的事情

tail -n 500 文件名 > 文件名

这行得通吗?

我也不知道如何在 bash 中遍历目录

提前致谢。

bash logging tail

2
推荐指数
1
解决办法
578
查看次数

Linux:我可以实时监控到我网站的所有 http 连接吗?像 tail -f /file/log.log 仅用于 http 连接?

我想监控人们是否正在实时访问我的网站。我想在终端/ssh 中查看到我的站点的 http 连接。类似于 tail -f /file/log.log 函数的东西,但我相信有一种方法可以不使用日志文件,对吗?

我在这里阅读了其他人的一些问题,似乎“IPTstate”是我正在寻找的,有人确认这符合我的要求吗?我不是一个服务器管理员。

linux ssh iptables tail

2
推荐指数
1
解决办法
7637
查看次数

tail -f 然后退出匹配的字符串

我正在尝试配置一个启动脚本,该脚本将启动 tomcat,监视 catalina.out 中的字符串“服务器启动”,然后运行另一个进程。我一直在尝试 tail -f 与 grep 和 awk 的各种组合,但还没有任何工作。我遇到的主要问题似乎是在 grep 或 awk 匹配字符串后强制尾部死亡。

我已简化为以下测试用例。

test.sh is listed below:

#!/bin/sh    
rm -f child.out
./child.sh > child.out &
tail -f child.out | grep -q B

child.sh is listed below:

#!/bin/sh
echo A
sleep 20
echo B
echo C
sleep 40
echo D
Run Code Online (Sandbox Code Playgroud)

我看到的行为是 grep 在 20 秒后退出,但是尾部将需要另外 40 秒才能死亡。我理解为什么会发生这种情况 - tail 只会在写入管道时注意到管道消失了,这仅在数据附加到文件时发生。由于 tail 将缓冲数据并将 B 和 C 字符作为单个写入输出(我通过 strace 确认了这一点)这一事实使情况更加复杂。我试图用我在其他地方找到的解决方案来解决这个问题,例如使用 unbuffer 命令,但这没有帮助。

有人对如何按照我的预期进行工作有任何想法吗?或者等待Tomcat成功启动的想法(考虑等待TCP端口知道它已经启动,但怀疑这会变得比我现在想要做的更复杂)。我已经设法让它与 awk 一起工作,在比赛中做一个“killall tail”,但我对这个解决方案不满意。注意我试图让它在 RHEL4 上工作。

automation tomcat bash grep tail

1
推荐指数
1
解决办法
5859
查看次数

省略 tail -f 中的某些行

我喜欢tail -f但我喜欢省略其中包含特定字符串的行。这可能吗?我见过包含某些字符串的示例,但没有看到如何省略。

tail

-2
推荐指数
1
解决办法
87
查看次数

标签 统计

tail ×4

bash ×2

automation ×1

grep ×1

iptables ×1

linux ×1

logging ×1

ssh ×1

tomcat ×1