【运维】--服务器之间文件备份

rsync是类unix系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
文章主讲实际操作,不再进行详细叙述,想要了解更多可以查看百度百科。<

一、提前说明:

  • 以在两台服务器之间建立定时同步为例,将服务器A /home/jack 路径下的内容备份到服务器B /home/test 路径下

  • 设置定时同步时间为5分钟

二、配置过程:

服务端(即服务器A):

  1. 安装rsync:yum -y install rsync
  2. ln -s /etc/rsyncd.conf
  3. 编写rsync的配置文件:vim rsyncd.conf

解析如下:

    uid = root           #root用户访问(我这里用ROOT用户,也可以用其他新建的用户)
    gid = root           #root组用户访问
    port=871           #通过端口873
    use chroot = yes     #可以使用chroot
    read only = no        #可读写
    max connections = 4  #最大连接数
    list = no           #不列出文件清单
    pid file = /var/run/rsyncd.pid        #此步可没有此文件
    timeout = 900
    lock file = /var/run/rsyncd.lock      #此步可没有此文件
    log file = /var/log/rsyncd.log         #此步可没有此文件

   [backup]                    #发布项(注意这个命名) 
      comment = this is module for backup   #模块介绍,可删去
      path = /home/jack/         #发布的路径
      ignore errors
      auth users = root           #认证用户为root
          secrets file = /etc/rsyncd.pass    #密码文件

4. 编写用户密码文件:echo “root:111” > /etc/rsyncd.pass

(root:上一步设置的登录用户名;111:文件的密码自己随意设,但要记住,接下来需要用到;此步创建了rsyncd.pass文件)

  1. 修改密码文件的权限(此步很重要,且只能是600):chmod 600 /etc/rsyncd.pass
  2. 启动rsyncd服务
service rsyncd start
  1. 查看进程占用端口:netstat -tunlp

(启动rsyncd服务后会显示873端口被rsync占用)


客户端(即服务器B):

1.yum -y install rsync

2.echo “root:123” > /etc/rsyncd/rsyncd.pass

(root:用户名可不写,如果写,必须要和服务端设置的第3步中设置的用户名一致;
111:密码,必写,要和服务端设置的第4步中的密码一致)

3.chmod 600 /etc/rsyncd.pass

4.创建存放备份文件的路径:mkdir /home/backups

(路径自己随意设)

5.每隔5分钟将服务器A中的backup模块目录下的文件(我们设置的是/home/jack)同步到本地下(我们设置的是/home/backups)


1> ssh-keygen -t dsa -b 1024

2> 将id_dsa.pub里面的内容添加到B机的authorized_keys文件中

cat /root/.ssh/id_dsa.pub >> authorized_keys

3> 创建一个需要定时执行的脚本文件,如:rsyncd.sh脚本:vi /etc/rsyncd.sh

(路径自己设置的),在此脚本中添加如下内容:(命令的每条含义文档最后有解释)

rsync -auv --password-file=/etc/rsyncd.pass root@192.168.22.99::backup /home/test/ 

4> 设置脚本执行的时间:crontab –e,添加如下内容

*/5 * * * * sh /etc/rsyncd.sh #第5分钟执行一次同步;

到此,同步配置基本完成,正常情况下每5分钟就会同步一次
也可直接输入同步命令检查是否能够同步,命令格式为:
rsync命令格式:rsync [option] 源路径 目标路径

例如:

将服务器A backup模块下要备份的文件同步到本地/home/test目录下:

rsync -auv --password-file=/etc/rsyncd.pass root@192.168.22.99::backup /home/test/ 

正常情况下,同步成功会显示以上信息。


谢谢阅读~

你可能感兴趣的:(运维)