zoukankan      html  css  js  c++  java
  • rsync数据定时增量备份知识管理服务器数据

    为了保证公司知识管理服务器数据的安全性,所以计划每天同步confluence服务器上面数据

    一、安装rsync服务端

    1.查看是否安装rsync

    ps -ef | grep rsync

    2.添加配置文件

    rsync没有默认配置文件,需要手动创建/etc/rsyncd.conf

    服务端配置文件/etc/rsyncd.conf 内容如下:

    配置两个同步的目录data1,data2

    [root@host-10-0-100-156 ~]# cat /etc/rsyncd.conf 
    pid file=/var/rsync/rsync.pid
    port=873
    lock file=/var/rsync/lock.log
    log file=/var/rsync/rsync.log
    
    [data1] 
    path=/root/confluence-6.2.3/
    use chroot=no 
    max connections=10
    read only=yes
    write only=no
    list=no
    uid=root
    gid=root
    auth users=rsyncuser
    secrets file=/etc/rsync_server.pas
    strict modes=yes
    hosts allow=10.0.100.156,192.168.2.108,10.0.100.153
    ignore errors=yes 
    timeout=120 
    
    [data2]
    path=/data/confluence/
    use chroot=no
    max connections=10
    read only=yes
    write only=no
    list=no
    uid=root
    gid=root
    auth users=rsyncuser
    secrets file=/etc/rsync_server.pas
    strict modes=yes
    hosts allow=10.0.100.156,192.168.2.108,10.0.100.153
    ignore errors=yes
    timeout=120
    参数说明:
    [data1] :模块名,自己定义,可以在下方添加其它模块。须与客户端执行命令中的模块名一致。
    path:要备份的服务端文件夹路径。
    hosts allow:允许的客户端连接IP。
    secrets file:服务端密码文件,内容格式为,用户名:密码。
    auth users:有权限的用户名,与密码文件中用户名一致。
     
    3.创建密码文件并更改文件权限为600

    在/etc中创建文件rsync_server.pas,加入用户名与密码,内容格式为:用户名:密码。
    vim /etc/rsync_server.pas
    rsyncuser:123456

    然后设置密码文件权限为600
    chmod 600 /etc/rsync_server.pas
    注意密码文件只有设置为600权限才可以使用,客户端的密码文件也必须为600。

    4.启动rsync
    /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
    当执行启动报错时候
    附加:停止rsync
    
    ps -ef | grep rsync
    kill -9 进程号
    rm -rf /var/rsync/rsync.pid
    

    二、安装rsync客户端

    1.查看是否安装rsync,系统一般默认已安装,安装方法:yum -y install rsync(同服务端)。

    2.在/etc下创建密码文件rsync_client.pas,注意内容只有密码,且与服务端密码文件中的密码相同。

    [root@localhost ~]# cat /etc/rsync_client.pas 
    123456

    3.更改密码文件权限为600。

    chmod 600 /etc/rsync_client.pas
    

     

    三、添加定时任务

    在客户端中添加定时任务,每天凌晨执行命令从服务器端拉取数据,进行备份。
    直接编辑/etc/crontab文件,添加一条定时任务即可,例如每天凌晨以root身份执行下方的rsync命令,将远程服务器10.0.100.156中的[data1],[data2]模块对应的文件夹(服务端/etc/rsyncd.conf文件中的[data1][data2]模块对应的文件夹路径 )中的内容增量备份到当前服务器的/home/xuli/confluence/confluence_conf/目录

    00 00 * * *  rsync -aqzrtopg --delete rsync://rsyncuser@10.0.100.156/data1 /home/xuli/confluence/confluence_conf/  --password-file=/etc/rsync_client.pas 
    00 00 * * *  rsync -aqzrtopg --delete rsync://rsyncuser@10.0.100.156/data2 /home/xuli/confluence/confluence_attachments/  --password-file=/etc/rsync_client.pas 
    命令中的rsyncuser为服务端密码文件中配置的用户名;
    mysql为服务端/etc/rsyncd.conf文件中的[mysql]模块名,rsync会通过模块名找到对应的备份文件路径;
    /home/oa_daba_backup当前服务器文件夹路径,远程服务器需要备份的文件夹里的内容会增量备份到这里,所以需要提前建好该目录;
    /etc/rsync_client.pas为当前服务器的密码文件。
    当直接执行上方备份命令时,可以加入-v --progress参数, 即显示具体备份过程信息,定时任务中则不需要。




      






     

  • 相关阅读:
    软件测试基本功之——概念篇
    bug描述注意点
    软件测试模型汇总-V模型,W模型,X模型,H模型
    软件测试分类(自动化测试暂不描述)
    黑盒测试用例设计方法&理论结合实际 -> 场景法
    前端学习(36)~js学习(十三):this
    前端学习(35)~js学习(十二):预编译
    前端学习(34)~js学习(十一):作用域和变量提升
    前端学习(33)~js学习(十):函数
    前端学习(32)~js学习(九):对象简介和对象的基本操作
  • 原文地址:https://www.cnblogs.com/jimmy-xuli/p/9015949.html
Copyright © 2011-2022 走看看