rsync全网备份
rsync备份企业方案
企业有Linux服务器又有windows服务器,备份用rsync(服务端),Linux(客户端),Windows(客户端,cwrsync,旧版本有免费版)打包压缩数据往服务器上推!
rsync服务器,yum安装rsync,通过rsync--daemon方式运行
步骤:1,Yum安装后打开/etc/rsyncd.conf,写入以下配置参数
###resyncd.conf start
uid = rsync
gid = rsync
use chroot = no
max connections =
timeout =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 0.0.0.0/
secrets file = /etc/rsync.backup.password
auth users = rsync.backup
incoming chmod = D755,F755 #这个是windows客户端上传文件时会改动备份目录权限,故加此选项可以让推送到服务器的文件跟目录都是755权限
fake super = yes #这个是新版本rsync要加入的选项,详细看下面故障现象
[ruser] #rsync模块
path = /backup
#####rsync_config-------------------------------------end---------------------
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 '服务器数据备份结果' 管理员邮箱
#以上会把当天推送成功与失败的信息写入到日志里面
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 >& #打包
rsync -az /backup/ rsync.backup@172.17.2.110::ruser --password-file=/etc/rsync.backup.password #推送
find /backup -type f -name '*.tar.gz' -mtime +|xargs rm -rf #查找目录下打包文件超过7天的就删除掉
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批处理文件
rsync全网备份的更多相关文章
- rsync全网备份low方法
要求: 1.基本备份要求已知3 台服务器主机名分别为web01.backup .nfs01,主机信息见下表:服务器说明外网IP(NAT) 内网IP(NAT) 主机名称nginx web 服务器10.0 ...
- 5、rsync全网备份
定时备份rsync(增量备份,无差异备份,daemon进程)+crontab,主要备份一些任务脚本和配置文件,如果此时有用户增加数据, 如果是增量备份的话不会备份下来,因为在备份的那一刻,数据已经被锁 ...
- day10、nfs+rsync全网备份及实时同步
题目要求 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29 ...
- 全网备份脚本rsync
一,服务端配置 #!/bin/sh ######################################################### #by:kingle # #use: confi ...
- Centos6.9 搭建rsync服务端与客户端 案例:全网备份项目
rsync的企业工作场景说明 1)定时备份 1.1生产场景集群架构服务器备份方案项目 借助cron+rsync把所有客户服务器数据同步到备份服务器 2)实时复制 本地数据传输模式(local-only ...
- ansible-playbook 实战案例 全网备份 实时备份
目录 ansible-playbook 基础介绍 1.YAML三板斧 2. ansible playbook 安装apache 示例 案例 全网备份 实时备份 环境规划 目录规划 base.yaml ...
- rsync实时备份备份服务搭建和使用指南
一.Rsync企业工作场景说明: 1.利用定时任务+rsync方式实现数据同步 对于网站内部技术人员创建的数据,可以采取定时任务的方式 2.利用实时任务+rsync方式实现数据同步 对于网站外部访问用 ...
- nfs详解及实现全网备份
1.统一hosts cat /etc/hosts 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web02 172.16.1.8 web01 172.16.1. ...
- linux运维、架构之路-全网备份项目方案
一.项目需求说明 某公司有多台服务器,里面的数据很重要,如果磁盘坏了,数据就会丢失,所以公司要求把重要服务器数据备份以便出现问题时可以进行恢复,要求:每天晚上00点整在所有服务器上打包备份系统配置文件 ...
随机推荐
- javaScript 检測 能否够连接指定server
本文主要讲述怎样在js里面从多个服务端servlet中找到可用的地址 一般项目部署到生产环境之后会有一个生产网段(就是你能够在家訪问)和一个办公网段(仅仅能在公司才干訪问). 我们的项目部署好了之后, ...
- java文件和目录的增删复制
在使用java进行开发时常常会用到文件和目录的增删复制等方法.我写了一个小工具类.和大家分享,希望大家指正: package com.wangpeng.utill; import java.io.Fi ...
- hdu 4888 Redraw Beautiful Drawings(最大流,判环)
pid=4888">http://acm.hdu.edu.cn/showproblem.php?pid=4888 加入一个源点与汇点,建图例如以下: 1. 源点 -> 每一行相应 ...
- localStorage 读&&写
localStorage.setItem('edit',nowedit); 写 var nowedit1= localStorage.getItem('editdel');读
- PCB C# MongoDB 查询(SQL,NOSQL,C#对比)
一.准备阶段 1.查询数据清单准备 2.这里先将SQL语句执行顺序列出来,方便后面语句对比更好理解 ()SELECT ()DISTINCT ()<Top Num> <select l ...
- C语言编译器为什么能够用C语言编写?
不知道大家有没有想过一个问题:C语言编译器为什么能够用C语言编写? 所谓C语言编译器,就是把编程得到的文件,比如.c,.h的文件,进行读取,并对内容进行分析,按照C语言的规则,将其转换成cpu可以执行 ...
- promise 小抄
catch的用法 我们知道Promise对象除了then方法,还有一个catch方法,它是做什么用的呢?其实它和then的第二个参数一样,用来指定reject的回调,用法是这样: getNumber( ...
- linux 防火墙关闭
systemctl status firewalld.servicesystemctl status iptables.service关闭防火墙,selinux15:54:43运维-李浩 2017/ ...
- MFC学习篇(一):用OpenCV显示视频
首先是一些基础的步骤,如建立MFC应用,添加按钮等,博主主要参考了下面这篇文章,其中的前32步都是用OpenCV显示图片和视频所必须的,即通用的.由于LZ原来有配置OpenCV的基础,所以配制还是比较 ...
- 349 Intersection of Two Arrays 两个数组的交集
给定两个数组,写一个函数来计算它们的交集.例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示: 每个在结果中的元素必定是唯一的. 我们 ...