往服务器上传文件时,结果报错了,提示SSH_FX_FAILURE
,第一次遇见,查了一下原因,记录一下方便以后可能再遇到。在 SSH 协议中,SSH_FXP_OPEN
、SSH_FXP_READ
、SSH_FXP_WRITE
等操作可能会返回这个错误,表示文件无法被打开、读取或写入。这可能是由于权限问题、文件不存在、磁盘空间不足或其它系统错误导致的。可能需要检查以下几点:
- 确保你有足够的权限来执行所需的操作。
- 确认文件或目录是否存在。
- 检查磁盘空间是否足够。
- 查看 SSH服务器的日志,以获取更详细的错误信息。
这里操作权限应该没有问题,我使用的是root账号。接着检查了一下磁盘空间,发现磁盘确实被写满了,那么接下来需要排查一下具体是哪个目录写满了,可以通过du -h --max-depth=1
命令逐级往下排查,最终发现是nacos
access_log写满了磁盘。
这里推测可能是运维在部署nacos时没有正确配置日志文件策略,打开nacos配置文件,发现配置如下:
代码语言:javascript复制### If turn on the access log:
server.tomcat.accesslog.enabled=true
### The access log pattern:
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
### The directory of access log:
server.tomcat.basedir=
这里仅配置了开启access日志和日志格式,我们可以选择关闭access_log日志 或者配置一下日志策略为server.tomcat.accesslog.maxDays=15
,手动删除多余日志文件并重启nacos,问题得到解决。