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. Android WebView编程的那些坑(一)

    最大的坑是ROM不同,webkit不同,差异性很大.再加上google的坑,真是坑上加坑.比如js注入问题,比如client回调接口时序问题, 比如内存回收问题,etc 1.内存泄漏问题,尤其注意An ...

  2. RFM模型+SOM聚类︱离群值筛选问题

        笔者寄语:一般情况下离群值不应该直接删除,应该进行筛选,然后进行专门的离群值分析.笔者在这进行一下思考,在聚类基础之上的一种离群点检验. 基于聚类的离群点检测的步骤如下:数据标准化--聚类-- ...

  3. HighCharts之2D带有Legend的饼图

    HighCharts之2D带有Legend的饼图 1.实例源码 PieLegend.html: <!DOCTYPE html> <html> <head> < ...

  4. 【mongodb系统学习之六】mongodb配置文件方式启动

    六.mongodb可以用配置文件启动,配置文件配好后,每次指定文件就好,而不用每次写一长串: 1).创建配置文件: 2).配置(例如指定数据存储目录,日志存储文件,后台进程,端口号等): 3).配置文 ...

  5. freemarker报错之九

    1.错误描述 五月 30, 2014 11:52:04 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  6. day8(字符串操作)

    一.字符串操作 1.index  #返回字符串的索引值 s = "Hello word" print(s.index('o')) 2.isalnum #检测字符串是否由字母和数字组 ...

  7. Django学习-13-simple_tag使用

    一些HTML方法                {{item.event_start | date:"Y-m-d H:i:s"}}                     {{bi ...

  8. oracle分析函数技术详解(配上开窗函数over())

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  9. C# wav语音文件合并

    开发完成语音播报产品,由于客户所使用的播放产品种类繁多,在使用HDMI接口播放音频时,由于采用的声卡不同,个别机器会出现播报声音过小,或者不播报的情况.所以采用将语音文件合并播放的方式,来解决此问题. ...

  10. springMVC web项目 对访问数据库的用户名密码进行加密解密

    在使用springMVC开发web项目中,数据库的用户名,密码一般都是配置在.properties文件中 然后在通过.xml配置文件引入.properties的变量,例如 在config.proper ...