zoukankan      html  css  js  c++  java
  • rsync全网备份

    rsync备份企业方案

    企业有Linux服务器又有windows服务器,备份用rsync(服务端),Linux(客户端),Windows(客户端,cwrsync,旧版本有免费版)打包压缩数据往服务器上推!

    rsync服务器,yum安装rsync,通过rsync--daemon方式运行

    步骤:1,Yum安装后打开/etc/rsyncd.conf,写入以下配置参数

     1 ###resyncd.conf  start 
     2 uid = rsync
     3 gid = rsync
     4 use chroot = no
     5 max connections = 200
     6 timeout = 300
     7 pid file = /var/run/rsyncd.pid
     8 lock file = /var/run/rsyncd.lock
     9 log file = /var/log/rsyncd.log
    10 ignore errors
    11 read only = false
    12 list = false
    13 hosts allow = 0.0.0.0/24
    14 secrets file = /etc/rsync.backup.password
    15 auth users = rsync.backup
    16 incoming chmod = D755,F755  #这个是windows客户端上传文件时会改动备份目录权限,故加此选项可以让推送到服务器的文件跟目录都是755权限
    17 fake super = yes #这个是新版本rsync要加入的选项,详细看下面故障现象
    18 [ruser] #rsync模块
    19 path = /backup
    20 #####rsync_config-------------------------------------end---------------------
    View Code

               2,新建用户:useradd rsync,新建模块目录:目录的所有者更改为rsync用户,chown -R rsync.rsync 

               3,新建认证密码文件:echo 'rsync.backup:123456' > /etc/rsync.backup.password,并把密码文件的权限更改:chmod 600   注意:这个密码文件的所有者是开启rsync服务的用户

               4,检查防火墙跟selinux,让873端口能被其他服务器访问

               5,由于有多台服务器需要备份,所以我们要在rsync服务端新建脚本,目的就是当客户端每日推送后把推送失败的服务器信息写入到文档里面,再把文档发送给管理员(检查服务器有无rpm -qa | grep mailx包,没有就yum -y install mailx安装)

     
    for dir in `ls /backup/` #循环备份目录,dir就是每台服务器的IP地址
    do
     if [ -f /backup/$dir/bak_$(date +%F)_${dir}.tar.gz ] #判断目录下有无当天的打包数据,有就证明客户端推送成功,没有即是失败
     then
       echo "$dir backup is success">>/tmp/log/$(date +%F)_backup_result.log
     else
       echo "$dir backup is faild">>/tmp/log/$(date +%F)_backup_result.log
     fi
    done
    /usr/bin/cat /root/log/$(date +%F)_backup_result.log| mail -s '服务器数据备份结果' 管理员邮箱
    #以上会把当天推送成功与失败的信息写入到日志里面
    View Code

    rsync客户端(Linux)

    步骤:1,Yum安装rsync

               2,新建认证密码文件:echo '123456' > /etc/rsync.backup.password,并把密码文件的权限更改:chmod 600

               3,测试:rsync -avz /backup/ rsync.backup@0.0.0.0::ruser --password-file=/etc/rsync.backup.password

               4,打包备份目录与文件,然后推送到服务器上,用定时任务每天执行一次,shell命令如下

    #!/bin/bash
    ip=$(ifconfig ens192 | awk -F "[ :]+" 'NR==2{print $3}') #获取本机IP地址
    [ ! -d /backup/$ip ] && mkdir -p /backup/$ip #判断备份目录有无以本机IP地址命令的目录,没有就创建 
     cd /backup/$ip &&\
     tar -zcf  bak_$(date +%F)_${ip}.tar.gz /etc /var/log/yum.log >/dev/null 2>&1 #打包
     rsync -az /backup/ rsync.backup@172.17.2.110::ruser --password-file=/etc/rsync.backup.password #推送  
     find /backup -type f -name '*.tar.gz' -mtime +7|xargs rm -rf #查找目录下打包文件超过7天的就删除掉
    View Code

               

    rsync客户端(windows)

    步骤:1,安装cwrsync客户端软件,记住rsync安装路径

               2, 进入安装路径的bin下面,新建密码文件,把认证密码写入

               3,cmd到rsync安装路径/bin下,执行rsync -avz /cygdrive/c/backup/ rsync.backup@0.0.0.0::ruser < rsync.backup.password

               4,新建.bat批处理文件,把rsync的相关命令写入

               5,在计划任务页面新建计划,每天备份一次,选定时间,程序选择上面新建的.bat批处理文件

  • 相关阅读:
    转:Oracle中的日期和字符串互相转换
    jQuery DateTimePicker 日期和时间插件
    js转换时间戳-转换成 yyyy-MM-dd HH:mm:ss
    linux下载服务器上的文件命令-sz
    eclipse中集成maven
    maven的安装和环境配置
    eclipse复制粘贴变卡的解决办法
    在表单提交之前做校验-利用jQuery的submit方法
    centos7 ipaddr 无法查看虚拟机IP解决办法
    linux下tomcat启动很慢的解决办法
  • 原文地址:https://www.cnblogs.com/allmdzz/p/10319733.html
Copyright © 2011-2022 走看看