局域网上两台计算机之间的 rsync

局域网上两台计算机之间的 rsync

我想要在我的 LAN 上两台具有 IP 地址192.168.20.9192.168.20.10均运行 Ubuntu 10.10 的计算机之间进行 rsync。

我想尝试两台计算机之间的 rsync 和 ssh 服务。

答案1

我假设您希望能够以这两种方式执行此操作,即您登录用户的用户名在两台机器上是相同的,您乐意让它尽可能快速和简单地工作,并且您不需要使用密钥来执行此操作。

步骤如下:

设置 ssh

您需要安装软件包openssh-clientopenssh-server 然后从 192.168.20.9 检查您是否可以连接到 192.168.20.10

ssh 192.168.20.10

系统将提示您输入 192.168.20.10 上的密码。输入该密码即可继续。当系统询问是否可以连接时,请回答“是”。

以另一种方式重复该过程。

rsync文件

要将名为 todo.txt 的文件从 192.168.20.10 上的桌面复制到 192.168.20.9,您可以在登录 192.168.20.9 时执行以下操作:

rsync -av 192.168.20.10:Desktop/todo.txt ~/Desktop/todo.txt

或者另一种方式,当登录到 192.168.20.10 时:

rsync -av ~/Desktop/todo.txt 192.168.20.9:Desktop/todo.txt

让事情变得更容易。

在机器 192.168.20.9 上,您可以在 Nautilus 中的文件 > 连接到服务器下将 192.168.20.10 添加为网络位置,然后选择 ssh 并输入您的用户名、密码等。在 192.168.102.10 上以相反的方式进行设置。然后,您可以使用 Nautilus 通过 scp 复制文件,...这很好。

答案2

rsync -av -e 'ssh -o PubkeyAuthentication=no' \
  '[email protected]:~/remote/file' 'local/file'

可能更容易设置,因为它不需要传递公钥,并且可以防止“过多的身份验证失败用户名https://superuser.com/questions/187779/too-many-authentication-failures-for-username

这假设你是192.168.20.9。两个遥控器之间的传输比较困难:https://unix.stackexchange.com/questions/183504/how-to-rsync-files-between-two-remotes

答案3

已经有很好的答案了,但我想我会添加一些更明确的选项,特别是使用--dry-run-n-z压缩,以加快速度,并--exclude删除不必要的传输:

# Dry run - remove n to actually do it
rsync -anvz --exclude ".vscode" --exclude "GPUCache" --exclude ".pytest_cache" --exclude "pdf_proof" --exclude ".git" --exclude "docker_pdf_output" --exclude "working" --exclude "venv" --exclude ".DS_Store" --exclude "document.egg-info" --exclude "__pycache__" --exclude ".mypy_cache" [email protected]:/remote/path/to/directory/ ~/local/path/to/directory

请注意源上的尾随斜杠和目标上缺少的尾随斜杠 - 这样您就不会将源目录放在目标目录中,而是将源的内容放在目标目录中。

相关内容