欢迎来到福编程网,本站提供各种互联网专业知识!
您的位置:网站首页 > 数据库 > Redis

简单粗暴的Redis数据备份和恢复方法

发布时间:2016-06-23 作者:Hunk Shi 来源:转载
这里我们来讲解一个简单粗暴的Redis数据备份和恢复方法,有一个在不同主机上迁移Redis数据的示例,还有一个备份脚本实现的关键点提示,一起来看一下:

示例

目标:把服务器CentOS上的redis数据复制到Mac机上

步骤:

在CentOS上找dump文件位置

vi /etc/redis.conf
dbfilename dump.rdb 
dir /var/lib/redis

说明文件在

/var/lib/redis/dump.rdb

在mac上查找dump文件位置

vi /usr/local/etc/redis.conf


dbfilename dump.rdb 
dir /usr/local/var/db/redis

拷贝服务器上的dump.rdb到mac机器

scp root@dv:/var/lib/redis/dump.rdb ./

在mac上重启Redis

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

PS:备份脚本

看如下脚本,

#! /bin/bash

PATH=/usr/local/bin:$PATH
redis-cli SAVE

date=$(date +"%Y%m%d")
cp /var/lib/redis/6379/dump.rdb /data01/cache_backup/$date.rdb

echo "done!"

有如上脚本,便可以cron等方式备份redis数据文件了。细节如下:

首先必须进行SAVE, 因为redis的rdb文件并非总是内存数据的完整镜像,备份之前必须进行SAVE,即向其发送SAVE命令,其次拷贝走其rdb文件即可。

rdb的具体路径不一定是如上路径,可以在redis配置文件中查找, /etc/redis/6379.conf

# The filename where to dump the DB
dbfilename dump.rdb

# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# Also the Append Only File will be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis/6379

相关推荐