【Redis持久化】Redis企业级数据备份方案

【Redis持久化】Redis企业级数据备份方案

9.1 redis数据备份方案

  1. 写crontab定时调度脚本去做数据备份
  2. 每小时cop一份rdb的备份,到一个目录中,仅仅保留最近48小时的备份
  3. 每天保留一份当日的rdb的备份,到一个目录中,仅仅保留最近一个月的备份。
  4. 每次copy备份的时候,都把旧的备份数据删除
  5. 每天晚上将当前服务器上所有的数据备份,发送到一份到远程服务器上去。

9.2 每小时备份rdb快照文件脚本

#!/bin/sh

#获取当前时间日期-精确到小时
cur_date=`date +%Y%m%d%k`

#删除目录
rm -rf /usr/local/redis/snapshotting/$cur_date

#创建目录
mkdir /usr/local/redis/snapshotting/$cur_date

#拷贝rdb快照文件
cp /var/redis/6379/dump.rdb /usr/local/redis/snapshotting/$cur_date

#删除48小时前的备份记录
del_date=`date -d -48hour + %Y%m%d%k`
rm -rf /usr/local/redis/snapshotting/$del_date

每小时 0分 执行一次 redis_rdb_copy_hourly.sh

0 * * * * sh /usr/local/redis/backup_script/redis_rdb_copy_hourly.sh

9.3 每天备份一份dump.rdb

#!/bin/sh

#获取当前时间日期-精确到天
cur_date=`date +%Y%m%d`

#删除目录
rm -rf /usr/local/redis/snapshotting/$cur_date

#创建目录
mkdir /usr/local/redis/snapshotting/$cur_date

echo "创建目录成功:/usr/local/redis/snapshotting/"$cur_date

#拷贝rdb快照文件
cp /var/redis/6379/dump.rdb /usr/local/redis/snapshotting/$cur_date

#删除48小时前的备份记录
del_date=`date -d -1month +%Y%m%d`
rm -rf /usr/local/redis/snapshotting/$del_date

echo "删除目录成功:/usr/local/redis/snapshotting/"$del_date

每天copy一次备份

crontab -e

0 0 * * * sh /usr/local/redis/copy/redis_rdb_copy_daily.sh

9.3 appendonly.aof + dump.rdb 数据备份

  1. 停止redis
  2. 关闭aof
  3. 拷贝rdb
  4. 重启redis
  5. 直接在命令行热修改配置:config set appendonly yes(注意:热修改的配置不会持久到配置文件中),创建aof备份文件。
  6. 关闭redis
  7. 修改配置文件:appendonly yes
  8. 重启redis

参考石衫老师 《亿级流量电商详情页系统》课程笔记

亲,如果觉得还不错,点个赞呗!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值