定时备份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全网备份的更多相关文章

  1. rsync全网备份low方法

    要求: 1.基本备份要求已知3 台服务器主机名分别为web01.backup .nfs01,主机信息见下表:服务器说明外网IP(NAT) 内网IP(NAT) 主机名称nginx web 服务器10.0 ...

  2. day10、nfs+rsync全网备份及实时同步

    题目要求 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29 ...

  3. rsync全网备份

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

  4. 全网备份脚本rsync

    一,服务端配置 #!/bin/sh ######################################################### #by:kingle # #use: confi ...

  5. Centos6.9 搭建rsync服务端与客户端 案例:全网备份项目

    rsync的企业工作场景说明 1)定时备份 1.1生产场景集群架构服务器备份方案项目 借助cron+rsync把所有客户服务器数据同步到备份服务器 2)实时复制 本地数据传输模式(local-only ...

  6. ansible-playbook 实战案例 全网备份 实时备份

    目录 ansible-playbook 基础介绍 1.YAML三板斧 2. ansible playbook 安装apache 示例 案例 全网备份 实时备份 环境规划 目录规划 base.yaml ...

  7. rsync实时备份备份服务搭建和使用指南

    一.Rsync企业工作场景说明: 1.利用定时任务+rsync方式实现数据同步 对于网站内部技术人员创建的数据,可以采取定时任务的方式 2.利用实时任务+rsync方式实现数据同步 对于网站外部访问用 ...

  8. 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. ...

  9. linux运维、架构之路-全网备份项目方案

    一.项目需求说明 某公司有多台服务器,里面的数据很重要,如果磁盘坏了,数据就会丢失,所以公司要求把重要服务器数据备份以便出现问题时可以进行恢复,要求:每天晚上00点整在所有服务器上打包备份系统配置文件 ...

随机推荐

  1. [刷题] 447 Number of Boomerangs

    要求 给出平面上n个点,寻找存在多少点构成的三元组(i j k),使得 i j 两点的距离等于 i k 两点的距离 n 最多为500,所有点坐标范围在[-10000, 10000]之间 示例 [[0, ...

  2. [转载]XStar's Libvirt+KVM部署记录 目录

    XStar's Libvirt+KVM部署记录 目录 Create: 2013-12-11 Update: 2014-01-03 准备工作 KVM网站 http://sourceforge.net/p ...

  3. 强哥ThinkPHP学习笔记

    TP框架:1.模板引擎2.MVC设计模式3.常用操作类 模板引擎和框架区别1.模板引擎只是框架中用来做php和html分离 MVC设计模式M model 数据模型V view 视图C control ...

  4. OSI 七层参考模型与 TCP/IP 四层协议

    OSI 七层参考模型 OSI (Open System Interconnect,开放系统互连参考模型)是由 ISO(国际标准化组织)定义的,它是个灵活的.稳健的和可互操作的模型,并不是协议,常用来分 ...

  5. 3 当某个应用的CPU使用达到100%,该怎么办?

    你最常用什么指标来描述系统的 CPU 性能呢?我想你的答案,可能不是平均负载,也不是 CPU 上下文切换,而是另一个更直观的指标-- CPU 使用率.CPU 使用率是单位时间内 CPU 使用情况的统计 ...

  6. kubernetes技能图谱

    深入剖析Kubernetes-张磊(Kubernetes社区资深成员与项目维护者) Kubernetes集群搭建 ver1.20.5

  7. NVIDIA深度学习Tensor Core性能解析(上)

    NVIDIA深度学习Tensor Core性能解析(上) 本篇将通过多项测试来考验Volta架构,利用各种深度学习框架来了解Tensor Core的性能. 很多时候,深度学习这样的新领域会让人难以理解 ...

  8. 单核性能强悍,Core i3 这次又要“默秒全”?

    单核性能强悍,Core i3 这次又要"默秒全"? 在 Intel 历代酷睿处理器中,定位主流级的 Core i3 一直以超高性价比.低功耗.低发热的特点受到广大用户的青睐,在市场 ...

  9. python应用_读取Excel数据列表输出【一】

    python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式. 1.准备Excel数据如下: 2.下面主要是对Excel数据读取后以双列表(每一行是一个用例为一个列表,再一个个案例组 ...

  10. JVM--你常见的jvm 异常有哪些? 代码演示:StackOverflowError , utOfMemoryError: Java heap space , OutOfMemoryError: GC overhead limit exceeded, Direct buffer memory, Unable_to_create_new_native_Thread, Metaspace

    直接上代码: public class Test001 { public static void main(String[] args) { //java.lang.StackOverflowErro ...