如何使用参数在遥控器之间复制文件
How to copy files between remotes with params
我想使用 scp
将所有目录从一个远程复制到另一个
scp -r -3 remote1:/dir1 remote2:/dir1
但过几天我会复制新文件。但是 scp 会覆盖现有文件。有人可以帮我设置正确的参数来只复制那些 -mtime +N
的文件吗
谢谢
我在 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'
注意:第一行的 \
将命令继续到第二行。该命令执行以下操作:
- ssh
-R 127.0.0.1:12345:remote2:22
... - ssh 将绑定到 127.0.0.1:1234
并通过您的机器(您启动命令的地方)转发所有连接到 remote2:22
.
...rsync -e "ssh -p 12345" -aH /dir1 127.0.0.1:/dir1
- ssh 将在 remote1
.
上启动此命令
rsync -e "ssh -p 12345"
- 这告诉 rsync 在端口 12345 上使用 ssh 连接到远程机器。
... -aH /dir1 127.0.0.1:/dir1
- 这使得 rsync 在 /dir1
和 127.0.0.1:/dir1
之间同步。
因此 rsync 在 remote1
上连接到 127.0.0.1:12345
,ssh 将其转发到 remote2:22
。所以你的 ssh
在两个主机之间进行代理。希望我能解释清楚...
也许
scp `find BLABLA -mtime TIME` USER@HOST:
根据需要进行调整。
我想使用 scp
将所有目录从一个远程复制到另一个scp -r -3 remote1:/dir1 remote2:/dir1
但过几天我会复制新文件。但是 scp 会覆盖现有文件。有人可以帮我设置正确的参数来只复制那些 -mtime +N
的文件吗谢谢
我在 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'
注意:第一行的 \
将命令继续到第二行。该命令执行以下操作:
- ssh
-R 127.0.0.1:12345:remote2:22
... - ssh 将绑定到127.0.0.1:1234
并通过您的机器(您启动命令的地方)转发所有连接到remote2:22
. ...
rsync -e "ssh -p 12345" -aH /dir1 127.0.0.1:/dir1
- ssh 将在remote1
. 上启动此命令
rsync
-e "ssh -p 12345"
- 这告诉 rsync 在端口 12345 上使用 ssh 连接到远程机器。... -aH
/dir1 127.0.0.1:/dir1
- 这使得 rsync 在/dir1
和127.0.0.1:/dir1
之间同步。
因此 rsync 在 remote1
上连接到 127.0.0.1:12345
,ssh 将其转发到 remote2:22
。所以你的 ssh
在两个主机之间进行代理。希望我能解释清楚...
也许
scp `find BLABLA -mtime TIME` USER@HOST:
根据需要进行调整。