设为首页 收藏本站
查看: 1473|回复: 0

[经验分享] rsync + crontab + 配置文件自动定时备份同步

  [复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-25 08:22:53 | 显示全部楼层 |阅读模式
服务器基本信息:
  A_Server:

     目录: /rsync_master/
     IP地址:172.30.11.22

  B_Server:
     目录:/rsync_slave/
     IP地址:192.168.99.60


配置服务器部分:
  一. A_Server_Config

    备注:

    1. 首先需要创建 “rsyncd.conf”的主要配置文件和备份时需要的密码文件 rsync_a.pass。默认无此文件需要手动创建需要放在/etc/
    2. rsync 使用 --daemon 方式启动,服务端口为 TCP: 873.并且 /etc/xinetd.d/rsync 里的 disable设置为no

        2.1 daemon为守护进程

           根据守护进程的启动和管理方式,可以分为独立启动守护进程和超级守护进程两类
           2.1.1 独立启动(stand_alone):该类进程启动后就常驻内存,所以会一直占用系统资源。其最大的优点就是它会一直启动,  当外界 有要求时相应速度较快,像httpd等进程;
           2.1.2 超级守护进程:系统启动时由一个统一的守护进程xinet来负责管理一些进程,当相应请求到来时需要通过xinet的转接才可以唤醒被xinet管理的进程。这种进程的优点时最初只有xinet这一守护进程占有系统资源,其他的内部服务并不一直占有系统资源,只有数据包到来时才会被xinet管理员来唤醒。并且我们还可以通过xinet来对它所管理的进程设置一些访问权限,相当于多了一层管理机制。
    编写:

    1. 创建编写 rsyncd.conf 文件 和 备份需要的密码文件 rsync_a.pass
# vim /etc/rsyncd.conf
        uid=nobody
        gid=nobody
        use chroot=no
        max connections=4
        pid file=/var/run/rsyncd.pid
        lock file=/var/run/rsyncd.lock
        log file=/var/log/rsyncd.log


        [rsync_master_backup] // backup@172.30.11.22::rsync_master_backup 名称需要一致,此语句是寻找此名称模块

        path=/rsync_master/
        ignore errors
        read only=true
        list=false
        hosts allow=192.168.99.60

        hosts deny=0.0.0.0/32
        auth users=backup
        secrets file=/etc/rsync_a.pass
        :x


        #vim /etc/rsync_a.pass
        backup:passw0rd
        :x



    2. rsync 使用 --daemon 方式启动,服务端口为 TCP: 873.并且 /etc/xinetd.d/rsync 里的 disable设置为no
      # rsync --daemon //启动 rsync --daemon

      # vim /etc/sysconfig/iptables // 服务端防火墙添加TCP:873端口通信

        -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
        :x

      # /etc/init.d/iptables restart // 防火墙重启
      # vim /etc/xinetd.d/rsync

        disable=no // disable=yes 修改为 no

        :x



二. B_Server_Config


    备注:


    1. 首先要创建密码文件rsync_b.pass 默认无此文件需要创建在/etc/

    2. 其次需要创建脚本文件 rsync_bak.sh 默认无此文件创建在 /rsync_sh/
    3. 最后修改crontab文件设置定期执行rsync_bak.sh文件并创建日志文件rsync_bak.log默认无此文件创建在 /rsync_sh/


    编写:
    1. 首先要创建密码文件rsync_b.pass 默认无此文件需要创建在/etc/
      # vim /etc/rsync_b.pass
        passw0rd // 此文件只写密码还有密码需要与 A_Server里的/etc/rsync_a.pass密码一致


    2. 其次需要创建脚本文件 rsync_bak.sh 默认无此文件创建在 /rsync_sh/

      # vim /rsync_sh/rsync_bak.sh
        #!/bin/sh
        echo $(date +"%Y-%m-%d-%H:%M:%S")

        rsync -azvP --delete --exclude="*.txt" --password-file=/etc/rsync_b.pass backup@172.30.11.22::rsync_master_backup /rsync_slave/
      :x
      #chmod 744 /rsync_sh/rsync_bak.sh // chmod 授可执行权限



    3. 最后修改crontab文件设置定期执行rsync_bak.sh文件并创建日志文件rsync_bak.log默认无此文件创建在 /rsync_sh/
      # crontab -e

        30 5 */1 * * /bin/sh /rsync_sh/rsync_bak.sh >> /rsync_sh/rsync_bak.log 2>&1 // 2>&1 对错信息都录入
        :x


rsync参数部分:
       -a : --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
       -r : 递归
       -l : 链接文件,拷贝链接文件的意思
       -p: 保持文件原有权限
       -t : 保持文件原有时间
       -g: 保持文件原有用户组
       -o: 保持文件原有属主
       -D: 相当于块设备文件

       -z : 传输时压缩

       -v : 详细模式输出 -P结合使用

       -P : 显示备份过程 传输进度 -v 结合使用

       --delete : slave端删除多余的文件

        --exclude: master端排除不想同步的文件
       --exclude-from: master端排除不想同步的目录

       --password-file: 指定密码文件路径

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-333056-1-1.html 上篇帖子: Linux内核LTS长期支持版生命周期 下篇帖子: centos系统grub损坏修复过程 配置文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表