最新消息:重新回归WordPress,我要比较认真的开始更新我的博客了。

linux远程复制文件夹乱码,文件备份迁移的简单方法

服务器相关 hanlei 2402浏览

事件的详情是这样的,有一台redhat5的服务器想要重装系统,系统的默认字符编码是GBK,服务器内的文件有大量中文文件名都是GBK编码。因为服务器上装有FTP服务,所有我在另一台备份机上安装lftp,通过mirror进行文件夹复制,正常复制完成,检查无错。

$ lftp 192.168.0.111    //连接FTP服务器
lftp 192.168.0.111:~> user admin    //用户登录,输入密码
口令:
lftp admin@192.168.0.111:~> mirror ./ ./    //将FTP根目录复制到当装目录

系统装完后再利用lftp回拷文件的时候出错了,所有GBK编码的文件都无法复制,错误提示:

mirror: Access failed: 550 Can't change directory to ???: No such file or directory

编码的问题,因为文件中的GBK和UTF8都存在,没有找到好的解决方法,只好另找途径。结果发现了比FTP更有效的复制方法:scp

scp -r /home/test/ root@192.168.1.100:/root/

scp是通过SSH登录复制,复制文件夹要加-r
两个参数分别是本地路径和远程路径,执行下载文件,颠倒后为上传文件。命令执行后会提示输入远程用户的密码。拷贝过程不受编码影响。
如果sshd的端口号不是默认的22需要指定端口号

scp -r -P33222 /home/test/ root@192.168.1.100:/root/

转载请注明:HANLEI'BLOG » linux远程复制文件夹乱码,文件备份迁移的简单方法