- 我有 server1 作为生产服务器。
- 我将 server3 用作故障转移服务器。从 server1 的快照启动。
- 我将 server2 作为 server 1 的文件备份服务器。其角色是支持 server 1 和 server 3 的主力。
这三者都可以通过 ssh 隧道相互通信。这三者都是 digitalocean 上的 ubuntu 16.04,每个都在不同的区域。安装了 MySQL 数据库,以方便 Wordpress 网站在 var/www/HTML 中运行。php7 和 nginx 也是如此。
两个问题:我可以从 server2 运行 rsync 以使 server3 与 server1 保持同步吗?
由于服务器 3 是服务器 1 的孪生兄弟,我希望将服务器 1 上的所有更改同步到服务器 3。包括系统更改、软件安装、内容更改……全部同步。目的是使服务器 3 与服务器 1 保持相同。
那么我应该告诉 rsync 同步什么呢?它只是从 server1/ 到 server3/ 的递归吗?
感谢大家的意见。我查看了所有搜索,但没有发现这两个具体问题已在此配置的上下文中得到解决。一切似乎都只涉及同步某些文件或文件夹,而不是整个安装。
答案1
我已经使用 rsync 成功克隆了一个 Linux 系统。我在 U 盘上安装了 Ubuntu,并从笔记本电脑克隆了操作系统,U 盘启动正常。我也在两台台式电脑上做过同样的操作。但是,我曾经 cp 过 /bin/、/lib 等,但没有成功,我不得不重新安装目标系统,不知道为什么。但总的来说,它确实有效。
您需要排除某些目录:
rsync -acv --delete --exclude=fstab --exclude=/dev --exclude=/media --exclude=/mnt --exclude=/proc --exclude=/lost+found --exclude=/run --exclude=/sys --exclude=/tmp /server1/ /server2/
您需要排除 /etc/fstab,因为您的 UID 在您的服务器中会有所不同。由于 /mnt 和 /media 可能包含您创建的自定义目录,并且需要在 server2 中复制,因此请确保您可以排除它们。
您还需要
sudo update-grub
在克隆的系统上运行,因为 /boot/grub/grub.cfg 将指向源操作系统的 UID,这在您重新启动 server2 时会出现问题。
在生产服务器上执行此操作之前,请确保测试此过程!
另请查看此帖子:如何使用 rsync 将正在运行的系统克隆到新硬盘?