rsync实战(二)
加两个需求:
1.增加一个模块
2.每个模块不同的用户名
步骤:
.修改配置文件/etc/rsyncd.conf
[backup]
comment = commit
path = /backup
auth users=rsync_backup1
secrets file=/etc/rsync1.passwd
[data]
comment = commit
path = /data
auth users=rsync_backup2
secrets file=/etc/rsync2.passwd .增加目录
mkdir /data
chown -R rsync.rsync /data .增加相应的认证文件
echo 'rsync_backup1:1' > /etc/rsync1.passwd
echo 'rsync_backup2:1' > /etc/rsync2.passwd
chmod /etc/rsync?.passwd .重启服务生效
5.Rsync备份案例
已知2台服务器主机分别为backup、nfs,主机信息见下表
角色 外网IP(NAT) 内网IP(LAN) 主机名
Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backup
Rsync客户端 eth0:10.0.1.41 eth1:172.16.1.41 nfs
客户端要求:
1.客户端每天凌晨01点在服务器本地打包备份(系统配置文件、日志文件、其他目录、应用配置等文件)
2.客户端备份的数据必须存放至以主机名IP地址当前时间命名的目录中,例/backup/nfs_172.16.1.41_2020-01-20
3.客户端最后通过rsync推送本地打包好的备份文件至backup服务器
4.客户端服务器本地保留最近七天的数据,避免浪费磁盘空间
分析思路:
.备份谁
系统配置文件:
/etc/fstab /etc/hosts /var/spool/cron/root
日志文件:
/var/log/messages /var/log/secure /var/log/cron
服务配置文件:
/etc/rsyncd.conf .备份的要求
/backup/nfs_172.16.1.41_2020-- 获取的信息有:
主机名:hostname
IP地址:ifconfig eth1 | awk 'NR==2{print $2}' 或 hostname -I | awk '{print $2}'
时间:date +%F
目录名:/backup/$(hostname)_$(hostname -I | awk '{print $2}')_$(date +%F) 注意;建议使用变量来优化命令
优化后的客户端脚本代码
#!/bin/bash #.定义变量
Host=$(hostname)
IP=$(ifconfig eth1 | awk 'NR==2{print $2}')
Date=$(date +%F)
BackupDir=/backup
Dest=${BackupDir}/${Host}_${IP}_${Date} #.创建备份目录
mkdir -p $Dest #.收集需要备份的文件
#sysconf backup
tar czf $Dest/sysconf.tar.gz /etc/fstab /etc/hosts /var/spool/cron/root &>/dev/null
#logs backup
tar czf $Dest/log.tar.gz /var/log/messages /var/log/secure /var/log/cron &>/dev/null
#svrconf backup
tar czf $Dest/svrconf.tar.gz /etc/rsyncd.conf &>/dev/null #.校验
md5sum $Dest/* > $Dest/backup_check__$Date #5.将备份目录推送到服务端
Rsync_IP=172.16.1.51
Rsync_User=rsync_backup
Rsync_Module=backup
export RSYNC_PASSWORD=1
rsync -avz $Dest $Rsync_User@$Rsync_IP::$Rsync_Module #6.保留7天以内的备份数据
find $BackupDir -type d -mtime +7 | xargs rm -rf
问题:
1.文件没有归档压缩
2.没校验
服务端要求:
1.服务端部署rsync,用于接收客户端推送过来的备份数据
2.服务端需要每天校验客户端推送过来的数据是否完整
3.服务端需要每天校验的结果通知给管理员
4.服务端仅保留6个月的备份数据,其余全部删除
注意:所有服务器的备份目录必须都为/backup
.把服务搭建起来
.检查校验结果,并保存到指定的文件中
md5sum -c /backup/*_$(date +%F)/backup_check* > /backup/*_$(date +%F)/result_$(date +%F).txt
3.通过邮件发送给管理员
[root@backup ~]# yum install mailx -y
[root@backup ~]# vim /etc/mail.rc
set from=1445xxxxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=144xxxxx@qq.com
set smtp-auth-password=验证授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb mail -s "test" 144xxxxx@qq.com </etc/hosts
rsync实战(二)的更多相关文章
- 【NFS项目实战二】NFS共享数据的时时同步推送备份
[NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...
- coreseek实战(二):windows下mysql数据源部分配置说明
coreseek实战(二):windows下mysql数据源部分配置说明 关于coreseek在windows使用mysql数据源的配置,以及中文分词的详细说明,请参考官方文档: mysql数据源配置 ...
- chrome调试工具高级不完整使用指南(实战二)
3.3 给页面添加测试脚本 在现实的工作中,我们往往会遇到一些问题在线上就会触发然后本地就触发不了的问题.或者是,要给某个元素写一个测试脚本.这个时候如果是浏览器有提供一个添加脚本的功能的话,那么我们 ...
- Python爬虫实战二之爬取百度贴吧帖子
大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不 ...
- 转 Python爬虫实战二之爬取百度贴吧帖子
静觅 » Python爬虫实战二之爬取百度贴吧帖子 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 ...
- Netty 仿QQ聊天室 (实战二)
Netty 聊天器(百万级流量实战二):仿QQ客户端 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之15 [博客园 总入口 ] 源码IDEA工程获取链接:Java 聊天室 实战 源码 写在 ...
- kubernetes实战(二十八):Kubernetes一键式资源管理平台Ratel安装及使用
1. Ratel是什么? Ratel是一个Kubernetes资源平台,基于管理Kubernetes的资源开发,可以管理Kubernetes的Deployment.DaemonSet.Stateful ...
- SpringSecurity权限管理系统实战—二、日志、接口文档等实现
系列目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战 ...
- miniFTP项目实战二
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...
随机推荐
- 【5分钟+】计算机系统结构:CPU性能公式
计算机系统结构:CPU性能公式 基础知识 CPU 时间:一个程序在 CPU 上运行的时间.(不包括I/O时间) 主频.时钟频率:CPU 内部主时钟的频率,表示1秒可以完成多少个周期. 例如,主频为 4 ...
- SpringMVC使用可以访问静态资源,但是导致Controller访问失败
如果在web.xml 拦截配置如下: <!-- Spring MVC servlet --> <servlet> <servlet-name>SpringMVC&l ...
- leetcode - 两数之和Ⅳ 输入BST(653)
题目描述:给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true. 解题思路:根据二叉搜索树的特点,对二叉搜索树进行中序遍历可以得到一个从小到达排 ...
- LIS是什么?【质量控制】
继续[LIS是什么?]中提到的[质量控制]. Ⅱ.质量控制要求非常专业,现在只说一说个人理解,以下仅为LIS检验中部分理解,实际上实验室质量控制还包含的报告时效,实验室温度.湿度等等一系列内容,是一个 ...
- Python调用c++可执行程序
1.c++编译程序 #include <iostream> using namespace std; int test() { , b = ; return a+b; } int main ...
- CodeForces - 748C Santa Claus and Robot
题意:机器人在网格线上行走,从p1点开始,沿最短路径到p2,再沿最短路径到p3,依此类推.在此过程中留下了行走的运动轨迹,由“RLDU”表示.问若只给出运动轨迹,求最少的pi点的个数. 分析:pi到p ...
- MySQL数据库的数据类型
1.整数型 2.日期和时间类型 3.字符串类型
- 操作实践:maven工程查找工程中多余的jar包
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 版本迭代过程中对jar的依赖可能会产生变化,一些本不必再依赖的jar包可以因为没有清除而依然留在版本的发布 ...
- VCPU的解释
vCPU,顾名思义,是虚拟CPU. 创建虚拟机时,需要配置vCPU资源. 因此vCPU是虚拟机的部件. 因此脱离VM,谈论vCPU是没有意义的. 虚拟化管理系统如何调度vCPU,取决于系统内的虚拟机数 ...
- sersync配置
只记录了自己的操作步骤,详细信息也可以参考https://www.cnblogs.com/sellsa/p/5345092.html 安装sersync 将sersync安装包解压后会有两个配置文件 ...