Azure App Service FTP报错:无法访问正被其他进程占用的最新文件
Azure App Service FTP访问最新日志文件报550错误的解决办法
- 等待文件写入完成:最新日志文件大概率还被应用进程(比如日志组件、Web应用本身)占用,未释放文件句柄。可以等待几分钟,或确认应用停止写入该文件后再尝试下载。
- 配置日志滚动策略:如果是应用自定义生成的日志,修改日志框架(如Serilog、NLog)的配置,设置按时间或文件大小滚动日志。比如每天生成新日志文件,或文件达到指定大小就自动切换,旧文件会被自动关闭,避免长期占用。
- 通过Kudu复制文件后下载:
- 登录Kudu站点,进入
Debug console选择CMD或PowerShell - 导航到
site/wwwroot/logs目录,执行复制命令生成副本:copy latest.log latest_copy.log
- 登录Kudu站点,进入
- 临时重启应用服务:重启App Service会释放所有被进程占用的文件句柄,重启后即可下载最新日志。注意这会导致应用短暂不可用,建议在非高峰时段操作。
- 调整日志写入模式:检查应用代码,确保写入日志时使用非独占锁。比如.NET环境中使用
File.AppendText,或打开文件时指定FileShare.ReadWrite参数,允许其他进程同时读取文件。
内容的提问来源于stack exchange,提问作者Siddik Raja
相关产品推荐
相关产品推荐

