首页 > 其他分享 >rsync备份【基于客户端与服务端】

rsync备份【基于客户端与服务端】

时间:2024-08-17 22:27:40浏览次数:15  
标签:rsync 备份 nfs backup 服务端 客户端

一、需求

1、客户端

  1. 客户端提前准备存放到的备份目录,目录规则如下:/backup/nfs_IP+年/月/日
  2. 客户端在本地打包备份(将etc目录中所有的普通文件打包)拷贝到目标目录/backup/nfs_IP+年/月/日
  3. 客户端最后将备份的数据进行推送到备份服务器中
  4. 客户端每天凌晨1点定时执行该脚本
  5. 客户端服务器本地保留最近7天的数据,避免浪费磁盘空间

2、服务端

  1. 服务端部署rsync,用于接收客户端推送过来的备份数据
  2. 服务端需要每天校验客户端推送过来的数据是否完整?[可以通过md5sum]
  3. 服务端需要每天校验结果并推送给管理员
  4. 服务端仅保留6个月的备份数据,其余全部删除

二、客户端脚本配置

#!/bin/bash

# 创建文件夹
mkdir /backup
# 创建包含自身ip和时间的一个目录
mkdir -p /backup/nfs_`ifconfig eth0|awk 'NR==2{print $2}'`_`date +%F`

# 对需要的目录或者文件进行压缩
tar -zcvf /backup/nfs_`ifconfig eth0|awk 'NR==2{print $2}'`_`date +%F`/etc.tar.gz $(find /etc/ -type f)

# 进入对应文件夹,避免'/'报错提示
cd /backup/nfs_`ifconfig eth0|awk 'NR==2{print $2}'`_`date +%F`

# md5校验,避免数据传输之后数据错乱
md5sum etc.tar.gz > md5xfs.log

# 上传
rsync -azv /backup/ [email protected]::backup --password-file=/etc/rsync.pass

# 客户端服务器本地保留最近7天的数据,避免浪费磁盘空间
find /backup/ -ctime +7 -name 'xfs.*'|xargs -rm

三、服务端脚本配置

#!/bin/bash

cd /backup/nfs_`ifconfig eth0|awk 'NR==2{print $2}'`_`date +%F`		# 进入对应文件夹(根据具体情况而定+)
md5sum -c md5xfs.log							# 进行MD5校验
if [ $? -eq 0 ];then 			# 判断上一级最终结果是否为0,这里是shell
        echo "验证成功" | mail -s "验证结果" [email protected]
else
	echo "验证失败" | mail -s "验证结果" [email protected]
fi
find /backup/ -ctime +180 -name "nfs.*" -exec rm -rf {} \;

标签:rsync,备份,nfs,backup,服务端,客户端
From: https://www.cnblogs.com/9Dusk/p/18365085

相关文章

  • 【网络】UDP回显服务器和客户端的构造,以及连接流程
    回显服务器(EchoServer)最简单的客户端服务器程序,不涉及到业务流程,只是对与API的用法做演示客户端发送什么样的请求,服务器就返回什么样的响应,没有任何业务逻辑,没有进行任何计算或者处理0.构造方法网络编程必须要使用网卡,就需要用到Socket对象创建一个DatagramS......
  • 2、zabbix-服务端(监控端)的部署--只负责监控
    1、访问zabbix官网:https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=red_hat_enterprise_linux&os_version=7&components=server_frontend_agent&db=mysql&ws=apache可以选择按照官网提供的步骤来安装  =================================================......
  • MFC制作MQTT(EMQX)客户端,报错:MQTTClient_message::MQTTClient_message”: 没有重载函
    前言全局说明MQTTClient_message::MQTTClient_message”:没有重载函数接受9个参数一、说明环境:Windows7旗舰版VisualStudio2013CMakeversion3.19.8paho.mqtt.cV1.3.13二、报错MQTTClient_message::MQTTClient_message”:没有重载函数接受9个参数......
  • centos7系统msyqldump 客户端安装
    https://dev.mysql.com/downloads/ 因为我是下载mysql5.7要在归档包里查找 选择对应的安装版本: 下载如下rpm包,下载地址:https://downloads.mysql.com/archives/community/mysql-community-common-5.7.20-1.el7.x86_64.rpmmysql-community-libs-5.7.20-1.el7.x86_64.......
  • 小白学习微信小程序的客户端与服务端交互
    微信小程序是一种新型的应用程序,可以在微信客户端内运行。它具有轻量、快速的特点,可以快速开发和发布。在微信小程序中,客户端与服务端的交互是非常关键的一部分,通过这种交互,可以实现数据的传输和处理。接下来,我将为你详细介绍如何在微信小程序中实现客户端与服务端的交互。一......
  • k8s中配置Spring Cloud服务(Eureka客户端)优雅上下线
    目录背景解决办法Pod容器终止流程模拟请求报错发布服务请求接口基于Eureka优雅上下线正确的做法修改deployment配置发布服务背景在Kubernetes部署应用时,尽管Kubernetes使用滚动升级的方式,先启动一个新Pod,等新Pod成功运行后再删除旧Pod,但在此过程中,Pod仍然会接收请求。如果在Pod......
  • Mqttnet实现的mqtt客户端
    usingSystem.Collections.Concurrent;usingSystem.Text;usingMQTTnet;usingMQTTnet.Client;usingMicrosoft.Extensions.Options;usingMicrosoft.Extensions.Logging;usingMQTTnet.Server;usingMicrosoft.Extensions.Hosting;usingSystem.Net.NetworkInformat......
  • 在Unity中开发MQTT客户端
    概述:        在Unity环境中使用MQTTnet库(一个流行的.NET库,用于实现MQTT客户端和服务器。它支持.NETCore和.NETFramework,并提供了灵活的API以及高性能的实现)搭建自己的MQTT客户端.我使用的版本:Version=4.3.6.1152        但是在开发客户端之前,你需要......
  • oracle 客户端安装
    环境信息参考服务端的安装文档(安装包,创建用户和组,文件目录)[root@redhat760813]#catclient/response/client_install.rsp|grep-v"#"静默安装修改相应文件下面的几个值即可(目录要存在)oracle.install.responseFileVersion=/oracle/install/rspfmt_clientinstall_response_sche......
  • Java SSE:实现服务器推送数据客户端
            体验过大语言模型的人(chatgpt,文心一言,通义千问...)都知道,大模型的回答是一边思考一边返回数据的,属于流式响应。要达到这种效果就需要实现前后端的即时通讯。SSE        SSE(Server-sentEvents):WebSocket的一种轻量代替方案,使用HTTP协议,用于实现服务......