Centos7如何备份和还原Redis数据的方法

时间:2020-01-11 20:38来源:计算机教程
示例 何为Redis? 目标:把服务器CentOS上的redis数据复制到Mac机上 Redis是内存中的键值缓存和存储(即数据库),也可以永久保存到磁盘。在本文中,你将了解,如何在Centos7上备份还原您

示例

何为Redis?

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

Redis是内存中的键值缓存和存储(即数据库),也可以永久保存到磁盘。在本文中,你将了解,如何在Centos 7上备份还原您的redis数据库。

步骤:

备份还原说明

在CentOS上找dump文件位置

默认情况下,Redis数据将保存到磁盘中的.rdb文件中,该文件是Redis数据集的时间点快照。快照是按照指定的时间间隔进行的,所以对于备份来说是完美的。

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

1.数据备份篇

说明文件在

在Centos 7和其他Linux发行版中,Redis数据库目录默认是/var/lib/redis。但是,如果您更改了redis存储位置,则可以通过键入以下命令查找:

/var/lib/redis/dump.rdb
[root@renwolecom ~]# find / -name *rdb

在mac上查找dump文件位置

使用redis-cli管理工具进入数据库:

vi /usr/local/etc/redis.confdbfilename dump.rdb dir /usr/local/var/db/redis
[root@renwolecom ~]# redis-cli

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

由于大部分数据都运行在内存中,redis只会每隔一段时间保存一次,为获取最新副本,请执行以下命令:

scp root@dv:/var/lib/redis/dump.rdb ./
10.10.204.64:6379> save
OK
(1.02s)

在mac上重启Redis

另外,如果Redis设置了用户认证,就需要先验证,再保存,例如:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
10.10.204.64:6379> auth RenwoleQxl5qpKHrh9khuTW
10.10.204.64:6379> save

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!"
[root@renwolecom ~]# cp /var/lib/redis/dump.rdb /apps/redis-backup-20180129

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

2.数据还原篇

# 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

恢复备份需要您使用恢复文件替换现有的Redis数据库文件。为保证原始数据文件不被破坏,我们建议尽可能恢复到新的Redis服务器。

停止Redis数据库,一旦停止,Redis数据库处于脱机状态。

[root@renwolecom ~]# systemctl stop redis

编辑:计算机教程 本文来源:Centos7如何备份和还原Redis数据的方法

关键词: