2

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

我的主要开发机器是一台 Windows 计算机,为了查看应用程序的运行情况,我使用 Filezilla 将日志文件下载到我使用 notepad++ 浏览日志条目的 PC。

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

谢谢你。

4

5 回答 5

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 端稍微过滤日志文件。您的网络管理员将永远感激不尽 :-)

于 2010-01-26T12:55:00.177 回答
0

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

或者,反过来说,您的 Unix 机器能否将文件推送到您更容易访问的地方,例如共享驱动器?

于 2010-01-26T12:53:07.170 回答
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 客户端。

于 2010-01-26T12:53:15.587 回答
0

使用 ftp 批处理命令从 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

于 2010-01-26T12:54:20.140 回答
0

it looks like the easiest and most fault-proof way would be to get WGet for Windows and call it with the syntax of wget ftp://login:password@host/path/file from a batch file.

于 2010-01-26T12:59:15.000 回答