在 IIS 7.5 中,尝试使用 CMD FTP 客户端获取当前日志文件时出现错误
550 错误:“无法访问该文件,因为它正在被另一个进程使用”
使用 procmon 检查进程,发现只有 FTP 可以访问它。端口 21 也没有被其他程序使用。
本帖http://forums.iis.net/p/1169427/2043422.aspx/1?Re+FTP+550+该进程无法访问文件,因为它正在被另一个进程使用
和这个http://forums.iis.net/p/1173143/2043423.aspx/1?Re+FTP+7+5+550+Error
和我遇到的问题一样。我尝试了所有建议的修复方法(停止服务/进程并重新启动、创建用户、授予用户对 nfsw 和 FTP 站点的完整权限以及允许在上传时读取文件)
似乎有什么东西锁定了该文件,并且不允许我通过 FTP 访问它。
任何帮助,将不胜感激。
编辑:我想我找到了问题的一部分。Windows FTP 在访问任何文件时会尝试读取/写入?我不确定这有多准确,但我想知道是否有办法强制 Windows FTP 仅读取,以便它仍然可以访问当前日志文件。
答案1
弄清楚了。
IIS 锁定对当前日志文件的读/写能力。
由于某种原因,FTP(即使只是使用 get 命令)被视为对文件的读取/写入。这消除了使用任何类型的 FTP(就像我们在网络趋势中所做的那样)访问这些日志的能力。我最终做的是共享日志文件夹目录并通过网络共享驱动器进行访问。现在工作正常。
答案2
检查日志滚动设置。活动日志始终被 IIS 锁定,无法写入(好吧,不管怎样,WWW 发布服务部分)。如果您足够频繁地滚动日志,您将能够足够轻松地收集非活动日志。