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

前端之家收集整理的这篇文章主要介绍了【运维】--服务器之间文件备份前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

一、提前说明:

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

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

  • @H_403_17@

    二、配置过程:

    服务端(即服务器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/

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


    谢谢阅读~

猜你在找的Bash相关文章