我在服务器 A(unix 系统,有许多符号链接)上有一个包含几 TB 数据的目录,我想将其备份到我的 PC(windows 10 系统),因为我对服务器 A 的访问即将结束。将来,我可能需要将备份文件传输到另一台服务器(例如,服务器 B,unix 系统)以在那里恢复我的工作。所以问题是:
最好的情况是,我可以将服务器 A 上的目录原样下载到我的电脑上,这样如果我在访问结束之前对服务器 A 上的文件进行了任何更改,我可以直接将更改同步到我的电脑上。使用 WinSCP 之类的软件可以轻松完成同步,但是目录中的符号链接存在问题。如果我直接使用使用 SFTP 协议的 WinSCP 之类的软件将服务器 A 上的目录下载到我的电脑上,它会将符号链接作为目标文件下载,这样我就得到了许多巨大的(千兆字节大小)重复文件。为了防止这种情况,我知道我可以将服务器 A 上的目录压缩成 tar.gz 文件,然后备份该 tar.gz 文件。但是,考虑到 tar.gz 文件的大小,当我需要检索任何数据时,访问我电脑上的备份目录将非常麻烦,因为这将涉及在我的 Windows PC 上解压整个 TB 大小的 tar.gz 文件。另外,如果我在创建 tar.gz 后对服务器 A 上的目录进行任何更改,则这些更改无法轻易更新到 tar.gz 文件中。
我也在想在这种情况下打开 Windows 10 上的 bash 子系统是否会有所帮助,因为这样我就可以(可能)以某种方式将服务器 A 中的目录“rsync -a”到我的 PC 并使用 bash 子系统访问备份目录,这样所有的符号链接都可以通过这种方式保留下来。但是我在这方面没有任何经验,所以我不知道这在理论上和实践上是否可行。
因此,我是否知道是否有一种好的方法可以将目录从服务器 A 备份到我的 PC,以便将符号链接保留为符号链接,同时如果我对服务器 A 中的目录进行更改,则可以更新备份文件,并且我可以在我的 Windows 10 PC 上访问备份文件而没有太多麻烦? 此外,当我将来将备份文件从我的 PC 传输到服务器 B 时,我不会遇到诸如缺少符号链接等问题。
最好的祝愿
雅采克