【发布时间】:2015-02-19 06:59:04
【问题描述】:
我想要做什么 - 开始使用自定义 ssh 客户端代码将更改捕获到日志文件中***。一段时间后(这不是一个固定值并且是基于事件的),发出停止拖尾的命令。这是我用来捕获日志文件最新更改的命令 - tail -f logfile.txt
我希望能够以 :q 之类的东西结束它,我可以从脚本中发出它。我不想像ctrl + c 这样的键盘命令。
*** 我的自定义 ssh 客户端代码的伪代码(用 oop 语言编写)
include ssh-api
ssh = getSSHConnection();
cmd = 'cd to folder';
ssh.command(cmd);
cmd = 'tail -f log.txt';
ssh.command(cmd);
wait for special event to occur...
cmd = 'stop the tail now!'
out = ssh.command(cmd);
print "the changes made to log file were\n" + out;
我对日志文件所在的服务器没有写入权限。
我尝试了什么 - http://www.linuxquestions.org/questions/red-hat-31/how-to-stop-tail-f-in-scipt-529419/
我无法理解那里的解决方案(它在帖子 2 中)。有人可以解释一下解决方案或提出不同的方法吗?
谢谢。
【问题讨论】:
-
如果有办法从您的 ssh 客户端发送 Ctrl+C,那对您有用吗?
-
@psmears - 当然。那也行。我要做的就是告诉 unix 跟踪一个文件,随时停止跟踪它,并在开始和结束跟踪之间获取输出。谢谢。
-
@BoratSagdiyev 当你说得到尾部开始和结束之间的输出时,你的意思是在文件中吗?
-
赏金到期后,应将其作为副本关闭。这是一个常见问题解答,您很容易通过谷歌搜索找到答案。