远程搜索文件中的文本

时间:2018-12-31 18:56:00

标签: linux windows shell batch-file ftp

我有基于Linux服务器的日志文件,并且正在Windows操作系统上工作。 我正在使用Filezilla登录Linux服务器,并通过打开日志文件来搜索特定的文本或字符串。 我想在Windows中使用批处理来自动化此过程,我尝试在下面使用;

@echo off
cls
set /p string="Enter the string: "
echo open xx.xx.xx.xx 21> ftpc.dat
echo xxxxxxxx>> ftpc.dat
echo xxxxxxxx>> ftpc.dat
echo bin >> ftpc.dat
echo grep '%string%' /PATH IS HERE/log.log >> ftpc.dat
ftp -s:ftpc.dat

我对此还很陌生,我想知道关于如何自动执行此搜索过程的想法?我可以在其中搜索任何文本的工具,该工具将在Linux服务器中查找特定文件,并以该搜索结果的行数(在15行之前/之后)显示结果。 我是否需要编写bash脚本,还是可以在批处理文件中按上述方式执行此基本脚本以显示或输出结果?

2 个答案:

答案 0 :(得分:0)

如果要监视许多Linux服务器,则值得安装诸如rsyslog或logstash之类的东西。这是一个很大的话题,但这些可能是您研究的良好起点。

Google的其他内容:elasticsearch,kibana ...及其替代方案。

答案 1 :(得分:0)

您无法使用FTP运行grep

所以:

  • 使用FTP下载整个文件并grep /在本地搜索。

  • 或者(因为您似乎也具有SSH访问权限),请使用命令行SSH客户端在服务器上执行grep。在Windows上,您可以使用https://mariadb.com/kb/it/from_unixtime/(PuTTY随附):

    plink -pw password user@example.com grep '%string%' /remote/path/log.log >