示例
目標:把服務器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