加入收藏 | 设为首页 | 会员中心 | 我要投稿 百科站长网 (https://www.baikewang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

两个web服务器文件使用Rsync同步备份

发布时间:2023-01-12 12:40:36 所属栏目:系统 来源:
导读:  同步Web服务器的优势

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

  Rsync仅同步那些已更改的字节和数据块。Rsync能够检查和删除备份服务器上已从主Web服务器中删除的那些文件和目录。它在远程复
  同步Web服务器的优势
 
  使用rsync创建Web服务器备份的主要优点如下:
 
  Rsync仅同步那些已更改的字节和数据块。Rsync能够检查和删除备份服务器上已从主Web服务器中删除的那些文件和目录。它在远程复制数据时处理权限、所有权和特殊属性。它还支持SSH协议以加密方式传输数据,让你放心所有数据都是安全的。Rsync在传输数据时使用压缩和解压缩方法,消耗更少的带宽。如何同步两个Web服务器主服务器IP Address: 192.168.1.111Hostname: webserver.rumenz.com备份服务器IP Address: 192.168.1.112Hostname: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 list
  sent 128 bytes  received 32.67K bytes  5.96K bytes/sec
  total 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.com
  The key's randomart image is:
  +--[ RSA 2048]----+
  |          .o.    |
  |           ..    |
  |        ..++ .   |
  |        o=E *    |
  |       .Sooo o   |
  |       =.o o     |
  |      * . o      |
  |     o +         |
  |    . .          |
  +-----------------+
  我们的Public和Private密钥已生成,我们必须与主服务器共享它,以便主 Web 服务器能够识别此备份机器,并允许它在同步数据时无需输入任何密码即可登录。
 
  [root@backup html]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@webserver.rumenz.com
  现在尝试登录服务器,使用 ssh root@webserver.rumenz.com,然后签入.ssh/authorized_keys.
 
  [root@backup html]# root@webserver.rumenz.com
  现在,我们完成了共享密钥。要更深入地了解SSH password less login
 
  第5步:设置Cron以自动同步
 
  我们为此设置一个 cron。要设置 cron,请使用以下命令打开 crontab 文件。
 
  [root@backup ~]# crontab –e
  它将打开 /etc/crontab 文件以使用你的默认编辑器进行编辑。在此示例中,我正在编写一个 cron,每5分钟运行一次以同步数据。
 
  */5  *  *  *  *   rsync -avzhe ssh root@webserver.rumenz.com:/var/www/ /var/www/
  上面的 cron 和 rsync 命令只是同步 /var/www/ 从主要web server到backup server在每一个5 minutes.你可以根据需要更改时间和文件夹位置配置。
 

(编辑:百科站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!