【问题标题】:How do I copy symbolic links between servers?如何在服务器之间复制符号链接?
【发布时间】:2012-04-10 18:46:58
【问题描述】:

我们正在移动网络服务器。 (灯)

Webserver 1 有数百个符号链接指向不同目录中的文件(例如../../files/001.png)。当我们移动到新服务器时(已将站点下载到我的计算机,然后使用 SFTP 客户端传输重新上传到 Webserver 2)。它不会复制符号链接...

除了在新服务器上重新创建符号链接之外,还有更好的方法来获取从一台服务器到另一台服务器的符号链接吗?

【问题讨论】:

    标签: webserver symlink file-transfer


    【解决方案1】:

    rsync -a 从一台服务器到另一台服务器将保留文件属性和符号链接。

    rsync -av user@server:/path/to/source user@server2:/path/to/target
    

    【讨论】:

    • 无法将 rsync 与 Webserver 1 一起使用。
    • 网络服务器 1 运行的是什么系统?如果您可以完全访问网络服务器 2,我敢打赌您仍然可以 rsync。
    【解决方案2】:

    类似于以下内容?在网络服务器 1 上:

    tar czf - the_directory | (ssh Webserver2 "cd /path/to/wherever && tar xzf -")
    

    这会创建一个 tar 文件以复制到 STDOUT,并通过 ssh 将其通过管道传送到另一台服务器上的 untar。它也可以比递归 ssh 副本更快。

    【讨论】:

    • 任何机会我都可以说服你进一步解释它的作用以及为什么应该使用它:P
    • 当然。关键是 tar 保留了符号链接。以上只是一个快捷方式——您可以将 Webserver1 的内容 tar up + 压缩,将其复制到 Webserver2,然后解压缩它。您甚至可能想要这样做,以便备份迁移前的状态。以上避免了将 tar 文件写入磁盘的需要 - 相反它只是直接通过网络,并且因为您正在复制数据流而不是单个文件,所以它可以更快。我在数据库迁移项目中使用了这个技巧。有更清楚的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2015-01-01
    • 2014-01-26
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    相关资源
    最近更新 更多