將遠端 Redis 例項備份到本地例項

在要進行備份的計算機上,跳轉到 Redis CLI:

redis-cli

密碼?

如果你的主 Redis 資料庫(你要複製的主機)具有密碼:

config set masterauth <password>

開始複製

執行以下命令以開始複製:

SLAVEOF <host> <port>

要檢查複製是否正在執行:

INFO replication

你應該看到這樣的輸出:

# Replication
role:slave
master_host:some-host.compute-1.amazonaws.com
master_port:6519
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:35492914
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

注意 master_link_status 應該是 up

檢查同步進度

同步完成後,INFO replication 應顯示:

master_sync_in_progress:0

要檢查已同步的資料集,你可以比較資料庫的大小:

DBSIZE

將資料轉儲儲存到磁碟

要將資料庫非同步儲存到磁碟:

BGSAVE
CONFIG GET dir

然後你應該在 config 命令列出的目錄中找到一個 dump.rdb 檔案。

暫停複製

你可以停止複製:

SLAVEOF NO ONE

參考: Redis 複製指南