1.redis的备份

redis需要远程访问 添加密码进行登录,修改主配置文件添加:
requirepass xxx

redis-cli -h 127.0.0.1 -p 6379 -a 123456 bgsave

###

-h 指定主机ip

-p 指定redis端口

-a 指定密码

bgsave:数据文件持久化到磁盘

    然后到数据目录下打包备份。

tar zcf /usr/local/192.168.0.161_redis_6379.tar.gz dump.rdb

附上一个自动备份的脚本    或者写到任务计划里

#bin/bash

REDIS_DIR="/usr/local/redis/var/db/"

REDIS_PORT=`netstat -tunlp|grep redis|egrep '6379' |grep -v grep|awk '{print $4}'|awk -F: '{print $2}'`

BACKUP_DIR="/usr/local/hero_all_backup"

MYSQL_LOG="/home/msbakscript/logs/mysql.log"

HOST=$(awk -F= '/IPADDR=/ {print $2}' /etc/sysconfig/network-scripts/ifcfg-eth1)

DATE=`date +%F_%H-%M`

Hour=`date '+%H'`

pwd=IU8b2W4Nt9fIfLksLYfC

all_bak=("$HOST"_"$DATE")

increase_bak=("$HOST"_"$DATE""-increase")

DEL_DAY="7"

#################################################################

PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/mysql/bin:/usr/local/redis/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python/bin:/usr/local/python/sbin:/usr/

local/eventlog/bin:/usr/local/eventlog/sbin:/usr/local/syslog-ng/bin:/usr/local/syslog-ng/sbin:/root/bin"

redis_backup(){

for i in ${REDIS_PORT}

do

idt=`redis-cli -p $i -a ${pwd} info |grep role|awk -F: '{print $2}'|tr -d '\r'`

#根据redis的角色进行备份,master不开启AOF持久化,通过bgsave对RDB快照;slave开启AOF持久化,通过bgrewriteaof进行备份;

case $idt in

master)

echo "redis-cli -h 127.0.0.1 -p $i -a ${pwd} bgsave"

redis-cli -h 127.0.0.1 -p $i -a ${pwd} bgsave

;;

slvae)

echo "redis-cli -h 127.0.0.1 -p $i -a ${pwd} bgrewriteaof"

redis-cli -h 127.0.0.1 -p $i -a ${pwd} bgrewriteaof

;;

*)

exit 1

;;

esac

done

}

cp_backup(){

echo "sleep 30 waiting redis write to disk"

sleep 30

for i in ${REDIS_PORT}

do

idt=`redis-cli -p $i -a ${pwd} info |grep role|awk -F: '{print $2}'|tr -d '\r'`

#根据redis的角色进行备份,master不开启AOF持久化,通过bgsave对RDB快照;slave开启AOF持久化,通过bgrewriteaof进行备份;

case $idt in

master)

#echo cp ${REDIS_DIR}/dump.rdb ${BACKUP_DIR}/${HOST}_${i}.dump.rdb.$tt >> ${BACKUP_DIR}/redis_backup.log

#/bin/cp -f ${REDIS_DIR}/dump.rdb ${BACKUP_DIR}/${HOST}_${i}.dump.rdb.$tt

cd ${REDIS_DIR}

tar zcf ${BACKUP_DIR}/${all_bak}_${i}.tar.gz dump.rdb

echo -en "%${all_bak}_${i}.tar.gz" >>${MYSQL_LOG}

cd -

;;

slvae)

#echo cp ${REDIS_DIR}/appendonly.aof ${BACKUP_DIR}/${HOST}_${i}.appendonly.aof.$tt >> ${BACKUP_DIR}/redis_backup.log

#/bin/cp -f ${REDIS_DIR}/appendonly.aof ${BACKUP_DIR}/${HOST}_${i}.appendonly.aof.$tt

cd ${REDIS_DIR}

tar zcf ${BACKUP_DIR}/${all_bak}_${i}.tar.gz appendonly.aof

echo -en "%${all_bak}_${i}.tar.gz" >>${MYSQL_LOG}

cd -

;;

*)

exit 1

;;

esac

done

}

del_backup(){

#因所有备份都是全库备,所以按日期删除4天以前的备份数据

cd ${BACKUP_DIR}

find . \( -name "*appendonly*" -o -name "*dump*" \)  -mtime +${DEL_DAY} -exec  rm -f {} \;

}

#main start

mkdir -p ${BACKUP_DIR}

tt=`date +"%Y%m%d-%H%M%S"`    ###按照日期时间格式进行备份

redis_backup

cp_backup

del_backup

2.redis还原

(1)停掉redis

(2)启动redis,重启是因为释放redis内存

(3)解压备份出来的redis备份

(4)拷贝覆盖到正在使用的数据目录里面

(5)再重启redis即可。

redis备份与恢复的更多相关文章

  1. Redis 搭建文档,备份及认证

    wget http://download.redis.io/releases/redis-3.0.6.tar.gz为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中[root ...

  2. 数据备份与恢复 半持久化 全持久化 fork aof rdb Backing up Disaster recovery 备份 容灾

    Redis数据备份与恢复 - 流年晕开时光 - 博客园 https://www.cnblogs.com/deny/p/11531355.html Redis数据备份与恢复 Redis所有数据都是保存在 ...

  3. redis基础操作~~数据备份与恢复、数据安全、性能测试、客户端连接、分区

    数据备份与恢复 数据备份redis save 命令用于创建当前数据库的备份. redis 127.0.0.1:6379> SAVE OK 该命令将在 redis 安装目录中创建dump.rdb文 ...

  4. Redis之数据备份与恢复

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...

  5. Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...

  6. redis开启持久化、redis 数据备份与恢复

    redis持久化介绍  https://segmentfault.com/a/1190000015897415 1. 开启aof持久化.以守护进程启动.远程访问先把配置文件拷贝一份到/etc/redi ...

  7. redis数据的备份与恢复

    redis数据的备份与恢复 持久化分为两种方式:RDB和AOF 1.1 RDB模式 RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的所有数据进 ...

  8. Redis 数据备份与恢复

    Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 redis 127.0.0.1: ...

  9. redis数据备份与恢复

    1.启动redis 进入redis目录 redis-cli 2.数据备份 redis 127.0.0.1:6379> SAVE 该命令将在 redis 备份目录中创建dump.rdb文件. 3. ...

随机推荐

  1. GOF 23种设计模式

    设计模式目录 创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Sin ...

  2. echarts中地图提示"TypeError:i is undefined"

    1.错误描述 2.错误原因 刚开始地图的数据源是由静态数据提供,后来修改成从数据库中获取,请求数据的方法成功后调用地图方法,但是初始化时未调用数据请求方法,导致地图核心js报错 3.解决办法 初始化时 ...

  3. 芝麻HTTP: 1.9.3-Scrapyd-Client的安装

    在将Scrapy代码部署到远程Scrapyd的时候,第一步就是要将代码打包为EGG文件,其次需要将EGG文件上传到远程主机.这个过程如果用程序来实现,也是完全可以的,但是我们并不需要做这些工作,因为S ...

  4. pat1041-1050

    没想到半天就做完了10题 = =,这几题太简单了,基本10分钟一题 1041 #include<cmath> #include<map> #include<iostrea ...

  5. 【BZOJ4554】游戏(二分图匹配,网络流)

    [BZOJ4554]游戏(二分图匹配,网络流) 题解 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能炸到对手, ...

  6. [BZOJ2820][Luogu2257]YY的GCD

    BZOJ权限题 Luogu 题意:给出n,m,求: \[\sum_{i=1}^{n}\sum_{j=1}^{m}[\gcd(i,j)\mbox{为质数}]\] 多组数据,\(n\le 10^7\) s ...

  7. highCharts实现简单柱形图

    js: function chart(data,title){ $('#container').highcharts({ chart: { type: 'bar' }, title: { text: ...

  8. jquery 选择器 且 或

    jquery选择器具有很强大的功能,基本的使用方法随处可见,jquery还提供了更为方便的使用. 且:$("div[id^='AAA_']div[id$='_DIV']"),此选择 ...

  9. WP-player——WordPress的一款好用的音乐插件

    作者的主页:http://webjyh.com/wp-player/ 安装:在WordPress后台搜索安装即可,或者去作者的主页下载安装. 使用方法:这个插件是通过短代码调用的,安装好插件之后便可以 ...

  10. 在Editplus中配置java的(带包)编译(javac)和运行(java)的方法

    配置的前提是电脑安装了JDK并且配置好了相关的环境变量(JAVA_HOME,path和classpath). 配置好后在命令行中输入javac和java验证是否配置成功: 如果出现上面的情况则说明配置 ...