Centos 7 backup and restore Redis data
Posted Linux就该这么学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7 backup and restore Redis data相关的知识,希望对你有一定的参考价值。
何为Redis?
Redis是内存中的键值缓存和存储(即数据库),也可以永久保存到磁盘。在本文中,你将了解,如何在Centos 7上备份还原您的redis数据库。
备份还原说明
默认情况下,Redis数据将保存到磁盘中的.rdb文件中,该文件是Redis数据集的时间点快照。快照是按照指定的时间间隔进行的,所以对于备份来说是完美的。
数据备份篇
在Centos 7和其他Linux发行版中,Redis数据库目录默认是/var/lib/redis。但是,如果您更改了redis存储位置,则可以通过键入以下命令查找:
[root@renwolecom ~]# find / -name *rdb
使用redis-cli管理工具进入数据库:
[root@renwolecom ~]# redis-cli
由于大部分数据都运行在内存中,redis只会每隔一段时间保存一次,为获取最新副本,请执行以下命令:
10.10.204.64:6379> save
OK
(1.02s)
另外,如果Redis设置了用户认证,就需要先验证,再保存,例如:
10.10.204.64:6379> auth RenwoleQxl5qpKHrh9khuTW
10.10.204.64:6379> save
之后进行备份即可,例如:
[root@renwolecom ~]# cp /var/lib/redis/dump.rdb /apps/redis-backup-20180129
数据还原篇
恢复备份需要您使用恢复文件替换现有的Redis数据库文件。为保证原始数据文件不被破坏,我们建议尽可能恢复到新的Redis服务器。
停止Redis数据库,一旦停止,Redis数据库处于脱机状态。
[root@renwolecom ~]# systemctl stop redis
如果恢复到原始Redis服务器,请重命名当前数据文件,之后再进行恢复:
[root@renwolecom ~]# mv /var/lib/redis/dump.rdb /var/lib/redis/dump.rdb.old
[root@renwolecom ~]# cp -p /apps/redis-backup-20180129/dump.rdb /var/lib/redis/dump.rdb
设置dump.rdb文件权限,拷贝过来的数据文件,可能不具备Redis用户及读取权限,需要手动赋予:
[root@renwolecom ~]# chown redis:redis /var/lib/redis/dump.rdb
[root@renwolecom ~]# chmod 660 /var/lib/redis/dump.rdb
启动redis
[root@renwolecom ~]# systemctl start redis
大功告成!现在你可以登录redis核实数据了。
注意说明:
根据需求,关闭AOF,AOF跟踪每个写操作到Redis数据库。由于我们试图从时间点备份中恢复,所以我们不希望Redis重新创建存储在其AOF文件中的操作。
是否开启AOF可以通过查看文件获悉:
[root@renwolecom ~]# ls /var/lib/redis/
如果看到.aof后缀的文件,说明你启用了AOF。
重命名.aof文件,
[root@renwolecom ~]# mv /var/lib/redis/*.aof /var/lib/redis/appendonly.aof.old
如果有多个.aof文件,请单独命名。
编辑你的Redis配置文件暂时关闭AOF:
[root@renwolecom ~]# vim /etc/redis/redis.conf
appendonly no
《Linux就该这么学》是一本基于最新Linux系统编写,面向零基础读者的技术书籍。从Linux基础知识讲起,然后渐进式地提高内容难度,详细讲解Linux系统中各种服务的工作原理和配置方式,以匹配真实生产环境对运维人员的要求,突显内容的实用性。想要学习Linux系统的读者可以点击"阅读原文"按钮了解这本书,同时这本书也适合专业的运维人员阅读,作为一本非常有参考价值的工具书!
以上是关于Centos 7 backup and restore Redis data的主要内容,如果未能解决你的问题,请参考以下文章
Install Jenkins 2.1.36 and openjdk 1.7.0 on centos 7