我将把整个远程文件系统 ext3 备份到本地硬盘。此操作必须使用 ssh 进行。备份必须从客户端 PC 获取,而不是提供给服务器。我希望我清楚地解释了我的问题。
有人可以建议我如何解决它吗?
太感谢了!
答案1
我建议使用同步,可以通过 ssh 进行操作。
rsync -cavz user@remote_host:/remote/path /local/destination
(两边都要安装rsync)
rsync 旨在使用尽可能少的带宽将目录从一台机器传输到另一台机器。默认情况下,它仅传输源和目标之间的增量。
上面的选项(-cavz)是我通常使用的选项,并告诉它(-c)检查校验和;(-a)保留权限、时间戳、符号链接等;(-v)详细;(-z)压缩传输的数据。
答案2
传统方法是这样做:
- 在服务器上创建要传输的文件的存档。tar 或 cpio 是典型的命令。
- 通过网络传输档案
- 在客户端上,将客户端档案提取到最终位置。
您可以逐步执行此操作,或者使用 unix 管道并告诉存档命令使用管道而不是实际的文件存档。
在过去,我使用文件在机器上执行以下操作:
tar cf - . | rsh remotemachine tar xvBpf -
您可以使用类似以下命令运行
ssh servermachine "tar -C /location -cf - ." | tar xvf -
祝你好运