scp + 复制符号链接

scp + 复制符号链接

为什么该scp命令没有将链接从本地计算机复制到另一台计算机?

scp -rp dir linux:/dir_target

当源目录中同时有文件和链接时,如何复制链接?

答案1

如果我理解正确的话。您希望将本地计算机上的 dir 精确镜像到 Linux 上的 dir_target,并且它会复制符号链接的内容,而不是复制符号链接本身。要制作精确的副本,您需要使用 rsync 而不是 scp。

rsync -Wav --progress dir linux:dir_target

我怀疑这会产生预期的结果。无论如何,我通常使用 rsync,因为它只会复制需要复制的文件,并且通常比 scp 更智能。

答案2

这是个好问题。不幸的是,scp 不会复制符号链接,而且似乎没有计划添加它:https://bugzilla.mindrot.org/show_bug.cgi?id=485

然而,替代方案确实存在。你可以:

  • 使用tar cvfz压缩文件夹(tar 将保留链接);然后 scp 该 tar 文件
  • 使用rsync -e ssh开关通过 ssh 同步(例如rsync -ave ssh /src/dir user@hostname:/folder
  • 使用这样的命令来查找并列出符号链接,然后在另一端重新创建它们(不是很好,但我考虑自己实现):

    ls -la `find openddr_ODRINT1/ -type l`

相关内容