欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-24 22:26:12
示例 目标:把服务器centos上的redis数据复制到mac机上 步骤: 在centos上找dump文件位置 vi /etc/redis.conf db...

示例

目标:把服务器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