本文我們和大家分享一個簡單粗暴的Redis資料備份和復原方法,有一個在不同主機上遷移Redis資料的範例,還有一個備份腳本實現的關鍵點提示,希望能幫助到大家。
範例
目標:將伺服器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
相關推薦:
以上是Redis資料備份與復原方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!