|两个web服务器文件同步备份方法

|两个web服务器文件同步备份方法


同步Web服务器的优势

使用rsync创建Web服务器备份的主要优点如下:

  1. Rsync仅同步那些已更改的字节和数据块 。
  2. Rsync能够检查和删除备份服务器上已从主Web服务器中删除的那些文件和目录 。
  3. 它在远程复制数据时处理权限、所有权和特殊属性 。
  4. 它还支持SSH协议以加密方式传输数据 , 让你放心所有数据都是安全的 。
  5. Rsync在传输数据时使用压缩和解压缩方法 , 消耗更少的带宽 。
如何同步两个Web服务器主服务器
  1. IP Address: 192.168.1.111
  2. Hostname: webserver.rumenz.com
备份服务器
  1. IP Address: 192.168.1.112
  2. Hostname:backup.rumenz.com
第 1 步:安装Rsync工具[root@rumenz
# yum install rsync        [On Red Hat based systems
[root@rumenz
# apt-get install rsync    [On Debian based systems


第 2 步:创建一个用户来运行Rsync

我们可以设置 rsyncroot用户 , 但出于安全原因 , 你可以在主网络服务器上创建一个非特权用户 , 即webserver.rumenz.com运行 rsync 。
[root@rumenz
# useradd rumenz[root@rumenz
# passwd rumenz


在这里我创建了一个用户 rumenz 并为用户分配了密码 。
第 3 步:测试 Rsync 设置

测试 rsync 设置了(backup.rumenz.com) 并要执行此操作 , 请键入以下命令 。
[root@backup www
# rsync -avzhe ssh rumenz@webserver.rumenz.com:/var/www/ /var/www

输出rumenz@webserver.rumenz.com's password:receiving incremental file listsent 128 bytes  received 32.67K bytes  5.96K bytes/sectotal size is 12.78M  speedup is 389.70


你可以看到你的 rsync 现在工作正常并且正在同步数据 。 我用过了 /var/www 转移;你可以根据需要更改文件夹的位置 。
第 4 步:使用SSH无密码登录自动同步

已经完成了 rsync 设置 , 现在是时候设置一个cron对于 rsync 。 因为我们将使用rsync与SSH协议 , ssh 将要求进行身份验证. 为了让cron顺利工作 , 我们需要设置passwordless ssh logins对于 rsync 。

在这个例子中 , 我这样做root保存file ownerships同样 , 你也可以为其他用户执行此操作 。

首先 , 我们将生成一个public和private在备份服务器上使用以下命令键(即backup.rumenz.com) 。
[root@backup
# ssh-keygen -t rsa -b 2048


输入此命令时 , 请不要提供密码 , 然后按回车键Empty passphrase这样 rsync cron 就不需要任何密码来同步数据 。
样本输出Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:9a:33:a9:5d:f4:e1:41:26:57:d0:9a:68:5b:37:9c:23 root@backup.exmple.comThe key's randomart image is:+--[ RSA 2048
----+|          .o.    ||           ..    ||        ..++ .   ||        o=E *    ||       .Sooo o   ||       =.o o     ||      * . o      ||     o +         ||    . .          |+-----------------+