简单粗暴的Redis数据备份和恢复方法
程序员文章站
2022-04-01 08:41:15
示例
目标:把服务器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