基于rsync实现fastdfs文件存储数据异地备份

概述

本来想用压缩后传输的逻辑,后来觉得数据量有点大,所以就用rsync每次传差异的值就可以了。这里统一备份到集中备份服务器上。

1、服务器初始化(自动部署rsync)

这里基于蓝鲸来做服务器初始化。
在这里插入图片描述
在这里插入图片描述

2、环境准备

2.1、在fastdfs服务器部署rsync服务后配置fastdfs数据存储路径

在这里插入图片描述

2.2、在集中备份服务器配置rsync密码

设置权限为600。
在这里插入图片描述

3、rsync异地备份脚本(/data/scripts/fastdfs/rsync_fastdfs.sh)

同时设置定时任务:00 23 * * * /bin/bash /data/scripts/fastdfs/rsync_fastdfs.sh &>/dev/null
脚本如下:

#!/bin/bash
################################
#copyright by hwb
#date:2020-02-08
################################

#调用函数库
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
#注释消息:You have mail in /var/spool/mail/root
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile

#Require root to run this script.
[ $(id -u) -gt 0 ] && echo "请用root用户执行此脚本!" && exit 1


#参数定义
date=`date +"%Y-%m-%d-%H:%M:%S"`
fastdfs_ip="xx.142"
webhook='https://oapi.dingtalk.com/robot/send?access_token=18b060d781xxb30'



#报错日志记录
[ -f /tmp/install_error.log ] || touch /tmp/install_error.log

function SendMsgToDingding() {
  curl $webhook -H 'Content-Type: application/json' -d "
  {
    'msgtype': 'text',
    'text': {
      'content': ' [通知] $fastdfs_ip \n $message \n 时间:$date \n '
    },
    'at': {
      'atMobiles': [
	    "18825144300",
		"18822212312"
	  ],
	  "isAtAll": false
    }
  }"
}


function  rsync_fastdfs(){
  echo ""
  echo -e "\033[33m****************************************************备份fastdfs文件*****************************************************\033[0m"
  action "****开始进行fastdfs备份****" /bin/true
  rsync --port=8888 -vzrtopg --progress --timeout 600 --password-file=/data/auth/.rsync.auth --delete rsync@${fastdfs_ip}::fastdfs/*  /data/fastdfs/ 
  if [ $? -eq 0 ];then
		action "fastdfs备份成功!" /bin/true
		message="fastdfs数据备份成功!"
		SendMsgToDingding
  else
		action "fastdfs备份失败!" /bin/false
		message="fastdfs数据备份失败,请检查!"
		SendMsgToDingding
  fi
  echo ""
  echo -e "\033[33m*************************************************已完成fastdfs文件备份**************************************************\033[0m"
  echo ""
  sleep 1
}

rsync_fastdfs

在这里插入图片描述

4、测试脚本

备份过程如下:在这里插入图片描述
1)备份失败时:
在这里插入图片描述
钉钉消息提示如下:
在这里插入图片描述

2)备份成功时:
在这里插入图片描述
钉钉消息成功提示:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡定波007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值