如何使用rsync备份
已知3台服务器主机名分别为web01、backup 、nfs主机信息见下表:
角色 外网IP(NAT) 内网IP(LAN) 主机名
WEB eth0:10.0.0.7 eth1:172.16.1.7 web01
NFS eth0:10.0.0.31 eth1:172.16.1.31 nfs
Rsync eth0:10.0.0.41 eth1:172.16.1.41 backup
客户端: web nfs
服务端: backup
客户端需求
1.客户端提前准备存放的备份的目录,目录规则如下:/backup/nfs_172.16.1.31_2018-09-02
2.客户端在本地打包备份(系统配置文件、应用配置等)拷贝至/backup/nfs_172.16.1.31_2018-09-02
3.客户端最后将备份的数据进行推送至备份服务器
4.客户端服务器本地保留最近7天的数据, 避免浪费磁盘空间
4.客户端每天凌晨1点定时执行该脚本
服务端需求
1.服务端部署rsync,用于接收客户端推送过来的备份数据
2.服务端需要每天校验客户端推送过来的数据是否完整
3.服务端需要每天校验的结果通知给管理员
4.服务端仅保留6个月的备份数据,其余的全部删除
注意:所有服务器的备份目录必须都为/backup
快递: 散货-------->打包--->标记------->装车-------------->运输------------->仓库
验货-------->评价
系统: 备份的文件-->打包--->校验值----->备份至本地目录---->网络-------->推送至备份服务器
管理员校验-->通知--->邮件
1.你需要备份什么?
/etc/fstab /etc/hosts /etc/passwd /var/spool/cron/
2.你要备份到哪里?
/backup/nfs_172.16.1.31_2018-09-02
IP: ifconfig eth1 | awk 'NR==2 {print $2}'
host: hostname
date: date +%F
3.你要推送到哪里?
172.16.1.41
客户端
[root@nfs ~]# mkdir /scripts
[root@nfs ~]# cat /scripts/clinet_push_data_server.sh
#!/usr/bin/bash
variables == 变量 ---> 一个固定的字符串表示一个不固定的值
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Src=/backup
Host=$(hostname)
Addr=$(ifconfig eth1 | awk 'NR==2 {print $2}')
Date=$(date +%F)
Dest=${Host}_${Addr}_${Date}
#1.准备对应的备份目录
[ -d $Src/$Dest ] || mkdir -p $Src/$Dest
#2.将文件拷贝至备份目录
cd / && \
[ -f $Src/$Dest/sys.tar.gz ] || tar czf $Src/$Dest/sys.tar.gz etc/fstab etc/hosts etc/passwd && \
[ -f $Src/$Dest/other.tar.gz ] || tar czf $Src/$Dest/other.tar.gz var/spool/cron/ scripts/ && \
#3.添加标记
[ -f $Src/$Dest/flag_${Date} ] || md5sum $Src/$Dest/*.tar.gz > $Src/$Dest/flag_${Date}
#4.推送数据至远程仓库
export RSYNC_PASSWORD=123456
rsync -avz $Src/ rsync_backup@172.16.1.41::backup
#5.保留本地最近7+天的数据
find $Src/ -type d -mtime +7 | xargs rm -rf
#批量的模拟数据
[root@nfs ~]# for i in {1..30};do date -s "201909$i"; sh /scripts/clinet_push_data_server.sh ; done
------
####
服务端
#1.服务端配置邮件功能
[root@backup /]# yum install mailx -y
[root@backup /]# vim /etc/mail.rc #跳转至最后一行,然后进入编辑模式
set from=发件人@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=发件人@qq.com
set smtp-auth-password=xxxx
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
#2.测试一下是否能发送成功
mail -s "测试一下" 收件人@qq.com < /etc/hosts
#3.编写脚本
[root@backup ~]# cat /scripts/check_data_notify.sh
#!/usr/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Src=/backup
Date=$(date +%F)
#1.校验每天客户端推送过来的flag数据
md5sum -c ${Src}/*_${Date}/flag_${Date} >${Src}/result_${Date}
#2.邮件通知管理员
mail -s "Rsync Backup ${Date}" 收件人@qq.com < ${Src}/result_${Date}
#3.保留最近180天的数据
find $Src/ -type d -mtime +180 | xargs rm -rf
定时任务是否有问题
客户端
[root@nfs ~]# crontab -l
#定时备份数据
*/1 * * * * sh /scripts/clinet_push_data_server.sh &>/dev/null
服务端
[root@backup ~]# crontab -l
#定时校验备份的结果
*/1 * * * * sh /scripts/check_data_notify.sh &>/dev/null
如何在增加一台客户端备份
[root@web01 ~]# rsync -avz root@172.16.1.31:/scripts /
如何使用rsync备份的更多相关文章
- 本文讲述下windows下使用rsync备份数据
本文讲述下windows下使用rsync备份数据 需要使用的软件如下: 环境需求: 上海monitor上跑有定时任务计划备份线上数据库,现在需要把上海monitor上的备份数据拉回到179.12数据回 ...
- Rsync备份功能总结
备份服务笔记====================================================================== Rsync是一款开源的.快速的.多功能的.可实 ...
- 3、Rsync备份服务实战
1.Rsync基本概述 rsync是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用. rsync官方地址:传送门http:// ...
- Rsync备份服务实战
目录 Rsync备份服务实战 一.Rsync 二.rsync的应用场景 1.Rync的数据同步模式 2.rsync的三种模式 三.rsync配置服务端客户端 四.rsync实战 实战一 报错解决方法: ...
- day27 综合架构 rsync备份服务
sync软件使用方法: rsync命令 1v4 a 本地备份数据 cp [root@nfs01 backup]# cp /etc/hosts /tmp [root@nfs01 backup]# ll ...
- 【Rsync实战】Rsync 备份的配置与管理
一.Rsync 基本概述 rsync 是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用. rsync 官方地址: rsync ...
- 利用rsync备份生产应用(二)
概述 上节主要是针对rsync服务端进行的配置和详解,本节主要针对在客户端上的rsync配置进行讲解. rsync用法 本地到本地 语法:rsync [OPTION...] SRC... [DEST] ...
- 利用rsync备份生产应用(一)
rsync简单介绍 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的"Rsync算法"来 ...
- Linux Rsync备份服务介绍及部署守护进程模式
rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份工具 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输 ...
- 使用rsync备份与同步文件
在数字化时代的今天,随着个人拥有的数据量急剧增加,对其中的重要数据进行备份以保证其安全性.正确性变得越来越重要.同时,由于在公司.实验室.家里.外出等不同环境下往往使用不同的电脑设备(如台式机.笔记本 ...
随机推荐
- React单页面应用使用antd的锚点跳转失效
首先在react项目中引用antd的锚点 import {Anchor} from 'antd';const { Link } = Anchor; <Anchor> <Link hr ...
- 定时清理docker私服镜像
定时清理docker私服镜像 使用CI构建docker镜像进行发布极大促进了大家的版本发布效率,于是镜像仓库也就急速膨胀.为了缓解磁盘压力,我们需要设置一些清理策略. 对于不同docker镜像的清理策 ...
- coo ceo cfo cto cio 区别
常见的CEO(Chief executive officer)首席执行官类似总经理.总裁,是企业的法人代表. COO(Chief operating officer)首席运营官 类似常务总经理CFO( ...
- 程序与CPU
CPU中共有四大组件: 寄存器 控制器 运算器 时钟 寄存器:存取数值(存东西的) 控制器:负责将内存(寄存器)中的数据进行读入和写出(控制寄存器 协调者) 运算器:里面是逻辑运算单元,协助寄存器和控 ...
- Debian下Hadoop 3.12 集群搭建
Debian系统配置 我这里在Vmware里面虚拟4个Debian系统,一个master,三个solver.hostname分别是master.solver1.solver2.solver3.对了,下 ...
- Freemarker提供了3种加载模板目录的方法
Freemarker提供了3种加载模板目录的方法 原创 2016年08月24日 14:50:13 标签: freemarker / Configuration 8197 Freemarker提供了3种 ...
- C# HTTP系列13 以form-data方式上传多个文件以及键值对集合到远程服务器
系列目录 [已更新最新开发文章,点击查看详细] 类似于以下场景,将表单中的用户信息(包含附件)上传到服务器并保存到数据库中, <form id="form1" run ...
- Vuex模块化
上图是vuex的结构图vuex即 store, 包含State,Action,Mutations, 每一个vue项目都需要使用vuex做组件之间的数据共享 使用场景: 数据最终存放在store的Sta ...
- 实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署
最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...
- Java连载23-for循环练习、while\dowhile详解
一.for循环练习 1.例子:输入九九乘法表 public class d23_{ public static void main(String[] args) { for(int i = 1;i&l ...