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

时间:2010-01-26 12:39:30

标签: windows unix logfiles

我有一台Unix服务器,连续运行的应用程序会在其上生成大型文本日志。 (aprox.100megs一小时)。

我的主要开发机器是Windows计算机,看看应用程序发生了什么,我使用Filezilla将日志文件下载到PC,我使用notepad ++来通过日志条目。

整个过程对我来说似乎有点费解 - 所以你能推荐一个我可以在我的PC上运行连接到Unix机器并自动下载日志文件的工具 - 所以我可以在我的Windows机器上解析它拥有所有必需的工具(我的Unix访问非常有限 - 因此在Unix机器上查看日志文件实际上不是一个选项)。

谢谢。

5 个答案:

答案 0 :(得分:1)

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对于任何日志文件都不是一个好主意。这可能是必要的,但您应该检查为什么生成如此多的数据以及是否真的有必要。

每小时在网络上移动100M也是我应该谨慎的。我知道你说你没有很多访问UNIX方面但我仍然认为这是第一选择,特别是因为UNIX下的文本处理工具不仅仅是完成任务。

至少考虑在UNIX端稍微过滤日志文件,然后再将其复制到您自己的盒子中。您的网络管理员将永远感激: - )

答案 1 :(得分:0)

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

或者,另一方面,您的Unix机器可以将文件推送到更容易访问的位置,例如共享驱动器吗?

答案 2 :(得分:0)

您可以创建批处理文件,将日志文件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客户端。

答案 3 :(得分:0)

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

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

FTP能够使用脚本(来自外部文件的命令列表)。以下示例演示了一个脚本,该脚本打开与IP地址11.11.11.11的连接,以密码为“guest”的guest虚拟机登录主机,上载File1文件,然后退出:

open 11.11.11.11
user
guest
guest
put file1
quit

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

答案 4 :(得分:0)

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