5、rsync全网备份
定时备份rsync(增量备份,无差异备份,daemon进程)+crontab,主要备份一些任务脚本和配置文件,如果此时有用户增加数据,
如果是增量备份的话不会备份下来,因为在备份的那一刻,数据已经被锁定了,所以定时的备份最好备份点为用户不操作数据时进行;
tar命令 和rsync命令使用时如果相同的文件更新时,会自动覆盖,mkdir -p:有目录就用现有的目录,无目录会创建,
touch当有相同的文件时只改变时间戳,而不改变内容,不报错有助于随时随地的备份,sync对比后没有更新的文件不会传送,
对比很浪费时间,因此需要优化这个;
5.1、在rsync备份服务器上,配置rsync服务:
服务端成功配置rsync,并在客户端成功推送
5.2、在客户端nfs服务器上,实现打包,推送,删除,定时任务推送:
打包:tar zcvfh /backup/backup_$(date +%F).tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs
#h表示打包这个软链接对应的原文件
推送:rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
删除: find /backup/ -type f -name "*.tar.gz" -mtime +7| xargs rm -vf
(1)写入脚本文件:
[root@nfs01 /]# mkdir -p /server/scripts
[root@nfs01 /]# cd /server/scripts
[root@nfs01 scripts]# vim bak.sh
#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Ip=$(ifconfig eth1 | awk -F "[ :]+" 'NR==2 {print $4}')
Path=/backup
if [ $(date +%w) -eq 0 ]
then
Time=week_$(date +%F_%w -d -1day)
else
Time=$(date +%F -d -1day)
fi
cd /
mkdir $Path/$Ip/ -p
tar zcfh $Path/$Ip/backup_${Time}.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs
md5sum $Path/$Ip/backup_${Time}.tar.gz >$Path/$Ip/flag_${Time}.log
rsync -az $Path/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
find $Path/ -type f -mtime +7 \( -name "*.tar.gz" -o -name "*.log" \) |xargs rm -f
chmod u+x /server/scripts/bak.sh
(2)定时任务:
crontab -e
00 00 * * * /bin/sh /server/scripts/bak.sh >/dev/null 2>&1
#每天的零点启动脚本如果更改日期比如2018/10/20 此时会导致脚本直接运行
[root@m01 ~]# date +%Y_%m_%d\ %H:%M:%S
2018_10_20 14:33:52
5.3、在rsync备份服务器上做检查,发邮件给管理员 (只对当天备份的内容进行校验和发送,删除除180天以前除周六的备份文件和数据)
(1)写入脚本:
[root@nfs01 /]# mkdir -p /server/scripts
[root@nfs01 /]# cd /server/scripts
[root@nfs01 scripts]# vim check_del_data.sh
#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
LANG=en
Path=/backup
if [ $(date +%w) -eq 0 ]
then
Time=week_$(date +%F_%w -d -1day)
else
Time=$(date +%F -d -1day)
fi
find $Path/ -type f -name "flag_${Time}.log" |xargs md5sum -c >>$Path/flag_${Time}_md5sum_result.log 2>&1
mail -s "$Time bak result" hyjy2504164765@163.com <$Path/flag_${Time}_md5sum_result.log
find $Path/ -type f -mtime +180 ! -name "*week*6*" |xargs rm -f
chmod u+x /server/scripts/bak.sh
(2)定时任务:
crontab -e
00 06 * * * /bin/sh /server/scripts/check_del_data.sh >/dev/null 2>&1 #在数据传输完成时再校验和删除
(3)发送邮件:
A、163邮箱设置:
B、
vim /etc/mail.rc
set from=hyjy2504164765@163.com smtp=smtp.163.com smtp-auth-user=hyjy2504164765 smtp-auth-password=linux123 smtp-auth=login #163邮箱
5.4、邮箱服务介绍:
#安装mailx邮件服务
yum install mailx -y
#配置文件追加信息(/etc/mail.rc)
vim /etc/mail.rc
#发件人信息
set from=hyjy2504164765@163.com smtp=smtp.163.com smtp-auth-user=hyjy2504164765 smtp-auth-password=linux123 smtp-auth=login
from=hyjy2504164765@163.com #发件人邮箱地址(163设置得开起允许代理)
smtp=smtp.163.com #smtp地址
smtp-auth-user=hyjy2504164765 #邮箱用户名,不用加域名
smtp-auth-password=linux123 #邮箱密码(邮件密码是smtp代理授权码)
smtp-auth=login #邮箱验证方式
#测试发送
echo "邮件内容" | mail -s "标题" 邮箱地址
echo "hello world" | mail -s "hello" hyjy2504164765@163.com
#最好把你的发送邮件地址加入你接收邮箱的白名单,不然发多了可能被认为发送垃圾邮件而被163拒绝,这是真的
5、rsync全网备份的更多相关文章
- rsync全网备份low方法
要求: 1.基本备份要求已知3 台服务器主机名分别为web01.backup .nfs01,主机信息见下表:服务器说明外网IP(NAT) 内网IP(NAT) 主机名称nginx web 服务器10.0 ...
- day10、nfs+rsync全网备份及实时同步
题目要求 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29 ...
- rsync全网备份
rsync备份企业方案 企业有Linux服务器又有windows服务器,备份用rsync(服务端),Linux(客户端),Windows(客户端,cwrsync,旧版本有免费版)打包压缩数据往服务器上 ...
- 全网备份脚本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点整在所有服务器上打包备份系统配置文件 ...
随机推荐
- 006.Ansible自定义变量
ansible支持变量,用于存储会在整个项目中重复使用到的一些值.以简化项目的创建与维护,降低出错的机率. 变量的定义: 变量名应该由字母.数字下划数组成 变量名必须以字母开头 ansible内置关键 ...
- Ansible_创建角色_role
一.创建角色目录结构 1.角色创建流程 1️⃣:在Ansible中创建角色不需要特别的开发工具.创建和使用角色包含三个步骤: 创建角色目录结构 定义角色内容 在playbook中使用角色 2.角色目录 ...
- MyBatis 高级查询之多对多查询(十一)
高级查询之多对多查询 查询条件:根据玩家名,查询游戏信息 我们在之前创建的映射器接口 GameMapper.java 中添加接口方法,如下: /** * 根据玩家名查询游戏 * @param name ...
- Spring5.0源码学习系列之事务管理概述
Spring5.0源码学习系列之事务管理概述(十一),在学习事务管理的源码之前,需要对事务的基本理论比较熟悉,所以本章节会对事务管理的基本理论进行描述 1.什么是事务? 事务就是一组原子性的SQL操作 ...
- docker-ce 安装
配置源 确认版本 添加镜像加速器 https://docs.docker.com/engine/release-notes/19.03/ for centos wget -O /etc/yum.rep ...
- 90%的人都不知道的Node.js 依赖关系管理(下)
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://dzone.com/articles/node-dependency-manage ...
- 孔乙己,一名ERP顾问
欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 公司的会议室的格局,是和别处不同的:都是中间一个大的会议圆桌,桌子上面放着各台电脑,可以随时打开ERP系统.做ERP顾问的人,傍午傍晚下了班 ...
- 最适合新手的Redis Cluster搭建过程
好记性不如烂笔头,记录分片高可用Redis Cluster的搭建过程 Redis集群演进过程 Redis单节点 主从复制: 复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复. 故 ...
- Go语言web开发---Beego的session
一.简介 Session是一段保存在服务器上的信息,当客户端第一次访问服务器时创建Session,同时也会创建一个名为beegosessionID,值为创建的Session的id的Cookie. 这个 ...
- 摄像头ISP系统原理(中)
摄像头ISP系统原理(中) AF(FOCUS)----自动对焦 根据光学知识,景物在传感器上成像最清晰时处于合焦平面上.通过更改 LENS 的位置,使得景物在传感器上清晰的成像,是 ISP FOCUS ...