代码之家  ›  专栏  ›  技术社区  ›  Yarosalv Pryvalikhin

如何使用params[关闭]在远程设备之间复制文件

  •  -1
  • Yarosalv Pryvalikhin  · 技术社区  · 7 年前

    我想使用scp将所有目录从一个远程复制到另一个远程

    scp -r -3 remote1:/dir1 remote2:/dir1
    

    谢谢

    2 回复  |  直到 7 年前
        1
  •  0
  •   Doncho Gunchev    7 年前

    我不知道在 scp . 如果rsync是一个选项,请尝试:

    ssh remote1 'rsync -aH /dir1/ remote2:/dir1/'
    

    如果您之间没有连接 remote1 remote2 rsync ,但要困难得多。试试这个:

    ssh -R 127.0.0.1:12345:remote2:22 remote1 \
        'rsync -e "ssh -p 12345" -aH /dir1 127.0.0.1:/dir1'
    

    注:the \ 在第一行上,将命令继续执行到第二行。该命令执行以下操作:

    1. ssh -R 127.0.0.1:12345:remote2:22 ... - ssh将绑定到 127.0.0.1:1234 remote2:22 .
    2. ... rsync -e "ssh -p 12345" -aH /dir1 127.0.0.1:/dir1 -ssh将在上启动此命令 远程1 .

    3. 远程同步 -e "ssh -p 12345"

    4. ... -啊 /dir1 127.0.0.1:/dir1 -这使得rsync在 /dir1 127.0.0.1:/dir1 .

    因此rsync连接到 127.0.0.1:12345 在…上 远程1 ,ssh将其转发给 远程2:22 . 所以你的 ssh 在两个主机之间执行代理。希望我能解释清楚。。。

        2
  •  -1
  •   Cloth Tiger    7 年前

    可能

    scp `find BLABLA -mtime TIME` USER@HOST: