java操作远端ftp文件失败
问题1 使用hutool的ftp工具类上传文件,其他两个同事的都可以进行上传,我构建的对象不能进行上传
使用hutool的ftp工具类上传文件,其他两个同事的都可以进行上传,我构建的对象不能进行上传
代码
上传失败代码:
Ftp ftp = new Ftp(backupConfig.getFtpAddress(),
backupConfig.getFtpPort(),
backupConfig.getFtpAccount(),
backupConfig.getFtpPassword())
boolean upload = ftp.upload(backupConfig.getFtpBackupPath(), file);
上述代码一直上传失败之后的话就进行了百度大法,发现要给FTP设置被动模式
Ftp ftp = new Ftp(backupConfig.getFtpAddress(),
backupConfig.getFtpPort(),
backupConfig.getFtpAccount(),
backupConfig.getFtpPassword()).setMode(FtpMode.Passive);
boolean upload = ftp.upload(backupConfig.getFtpBackupPath(), file);
修改了被动模式后文件上传成功.
问题定位
1:防火墙问题 关闭电脑防火墙发现并没有影响,依旧上传失败
2:端口问题(待验证).
ftp主动被动模式的区别
自行搜索哈,这个很多解释.
问题2 使用hutool的ftp工具类清理过期文件,不能清理
使用hutool的ftp工具类清理过期文件,不能清理
ftp.delFile(ftpBackupPath + StrUtil.SLASH + file);
直接使用hutool工具类进行文件清理
问题定位
linux服务器中,文件所属者并不是代码中的ftp登录人,所以代码中的登录人无权限进行文件删除,修改文件的所属人即可.
修改红色框中的文件所有者即可
使用命令为
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:用户组名称 文件或目录