自动将日志文件从Unix服务器下载到Windows机器

我有一个Unix服务器上连续运行的应用程序生成一个大的文本日志。 (约每小时100毫克)。

我的主要开发机器是一台Windows计算机,看看应用程序中发生了什么,我使用Filezilla将日志文件下载到使用notepad ++的计算机上去查看日志条目。

整个过程对我来说似乎有点复杂 – 那么你能推荐一个我可以在我的电脑上运行的工具来连接到Unix机箱,并自动下载日志文件 – 所以我可以剖析它在我的Windows机器上,我拥有所有所需的工具(我的Unix访问是非常有限的 – 所以在Unix上查看日志文件不是真正的select)。

谢谢。

Windows本身就有这些工具。 使用ftp来获取文件。 您可以设置一个名为snatch.ftp的文件:

user USERNAME PASSWORD get /location/of/logfile.txt logfile.txt bye 

(使用USER和PASSWORD的合适值),然后根据您希望的任何时间表通过计划任务运行命令文件( snatch.cmd ):

 ftp -n -s:snatch.ftp 

我不得不说,每小时生成100M对于任何日志文件都不是一个好主意。 这可能是必要的,但你应该研究为什么要生成这么多的数据,以及是否真的有必要。

在整个网络中每小时移动1亿个小时也是我会小心的。 我知道你说过你没有太多的UNIX接口,但是我仍然把它看作是第一选择,特别是因为在UNIX下的文本处理工具已经不能胜任了。

最起码,考虑在将UNIX日志文件复制到自己的盒子之前稍微过滤日志文件。 您的网络管理员将永远感激:-)

你可以使用Windows“预定作业”功能定期调用你的ftp客户端吗?

或者,换个角度来说,你的Unix机器可以将文件推送到一个更容易访问的地方,比如共享驱动器?

您可以创建一个批处理文件,以将您的日志文件ftp(文件传输)到您的PC。 举一个例子,假设你的unix服务器是10.10.10.10,所以你创建一个名为ftp.txt的文件,

 open 10.10.10.10 anonymous test@somewhere.com cd path get file.log quit 

然后在命令行上

 c:\test> ftp -s:file.txt c:\test> notepad file.log 

另外,既然你有FileZilla,你可以看看文档,看看是否有任何命令行可以用来代替windows ftp客户端。

使用ftp batch命令自动从UNIX系统下载日志文件。

FTP(文件传输协议)是UNIX系统常用的文件传输实用程序。

FTP能够使用脚本(来自外部文件的命令列表)。 以下示例演示了一个脚本,该脚本打开到IP地址11.11.11.11的连接,以guest用户名登录到主机,并上传File1文件,然后退出:

 open 11.11.11.11 user guest guest put file1 quit 

http://support.microsoft.com/kb/96269

它看起来像最简单,最具有防错性的方法是获得WGet for Windows,并用批处理文件中的wget ftp:// login:password @ host / path / file语法调用它。