2010-01-26 65 views
2

我有一个Unix服务器上连续运行的应用程序生成一个大型的文本日志。 (约每小时100毫克)。自动从Unix服务器下载日志文件到Windows机器

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

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

谢谢。

+0

您使用FileZilla的哪个协议? – 2010-01-26 13:11:56

回答

0

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

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

0

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

open 10.10.10.10 
anonymous 
[email protected] 
cd path 
get file.log 
quit 

然后在命令行

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

替代的,因为你有FileZilla中,你可能看看文档,看看是否有任何命令行可以用来代替windows ftp客户端。

0

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

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

FTP能够使用脚本(来自外部文件的命令列表)。下面的示例演示打开IP地址为11.11.11.11的连接的脚本,登录到主机与密码做客“嘉宾,”上传文件1文件,然后退出:

open 11.11.11.11 
user 
guest 
guest 
put file1 
quit 

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

1

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

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

(含用户名和密码的合适的值),然后有一个命令文件(snatch.cmd)通过计划任务在你想要的任何计划运行:

ftp -n -s:snatch.ftp 

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

整个网络每小时移动100M也是我会小心翼翼的。我知道你说过你没有太多的UNIX访问权限,但我仍然把它当作第一选择,特别是因为UNIX下的文本处理工具不仅仅是完成任务。

在最低的限度,想想它复制到自己的禁区前过滤日志文件一点点在UNIX系统上。您的网络管理员将感激不尽:-)