使用 rsync 命令在连接到同一网络的两台计算机之间同步文件

使用 rsync 命令在连接到同一网络的两台计算机之间同步文件

可能重复:
需要 rsync 方面的帮助

我有两台计算机连接到同一个网络,比如计算机 A 和计算机 B。计算机 A 的目录中有一些备份文件需要同步到计算机 B(必须创建精确镜像)。这里的条件是我必须使用同步命令。
我该怎么做?我是否应该使用计算机的主机名来执行此操作。
请尽快帮助我。提前致谢

答案1

rsync src_user@src_hostname:src_dir/ trg_user@target_hostname:target_dir/

用于选项检查

rsync --help

或者

man rsync

答案2

如果您想使其自动化,您必须掌握一些基础知识。

第一个 rsync 通过 ssh 连接。您必须确保用于 rsyncing 的用户已在远程计算机上安装了 ssh 密钥(我将使用用户“root”作为示例)。

第二,决定如何进行 rsyncing(从服务器到备份服务器或从备份服务器到服务器),
我将在脚本在备份服务器上运行时执行此操作。

  • 在备份服务器上生成密钥(运行命令)

    $ ssh-keygen
    
  • 将生成的密钥复制到远程计算机(需要复制文件的服务器):

    $ ssh-copy-id -i /root/.ssh/id_rsa.pub root@server-ip:
    

现在您的服务器将连接到远程服务器而无需输入密码。
从这里您可以做这样的事情:

#!/bin/bash
## Rsync script
###
PATH=/usr/bin:
rsync -auvz root@server-ip:/path/to/directory/ /backup-server/path/to/backup/

请注意以下事实:

  1. 如果在路径末尾放置“/”,则表示“同步该目录的内容”( /path/to/dir/ )
  2. 如果你不放置“/”,它将同步整个目录 ( /path/to/dir )

相关内容