首页 > 数据库 > Redis > 正文

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

2020-10-28 21:39:07
字体:
来源:转载
供稿:网友

示例

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

步骤:

在CentOS上找dump文件位置

vi /etc/redis.confdbfilename dump.rdb dir /var/lib/redis

说明文件在

/var/lib/redis/dump.rdb

在mac上查找dump文件位置

vi /usr/local/etc/redis.confdbfilename 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/bashPATH=/usr/local/bin:$PATHredis-cli SAVEdate=$(date +"%Y%m%d")cp /var/lib/redis/6379/dump.rdb /data01/cache_backup/$date.rdbecho "done!"

有如上脚本,便可以cron等方式备份redis数据文件了。细节如下:
首先必须进行SAVE, 因为redis的rdb文件并非总是内存数据的完整镜像,备份之前必须进行SAVE,即向其发送SAVE命令,其次拷贝走其rdb文件即可。
rdb的具体路径不一定是如上路径,可以在redis配置文件中查找, /etc/redis/6379.conf

# The filename where to dump the DBdbfilename 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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表