如何在带有参数的遥控器之间复制文件

时间:2017-10-25 17:19:17

标签: linux bash command-line-interface scp

我想使用scp

将所有目录从一个远程复制到另一个远程
scp -r -3 remote1:/dir1 remote2:/dir1

但是几天后我会复制新文件。但是scp会覆盖现有文件。有人可以帮我设置正确的参数来复制那些-mtime + N

的文件

由于

2 个答案:

答案 0 :(得分:0)

我不知道scp中有这样的选项。如果rsync是一个选项,请尝试:

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

如果remote1remote2之间没有连接,rsync仍然可以完成任务,但要困难得多。试试这个:

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

注意:第一行的\将命令继续到第二行。该命令执行以下操作:

  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将在remote1上启动此命令。

  3. rsync -e "ssh -p 12345" - 这告诉rsync使用端口12345上的ssh连接到远程计算机。

  4. ... -aH /dir1 127.0.0.1:/dir1 - 这会使/dir1127.0.0.1:/dir1之间的rsync同步。

  5. 因此,rsync连接到127.0.0.1:12345上的remote1,ssh会将其转发给remote2:22。所以你的ssh在两台主机之间进行代理。希望我设法解释它......

答案 1 :(得分:-1)

也许

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

根据需要进行调整。