redis備份
127.0.0.1:6379> save
OK
127.0.0.1:6379> config get dir
1) "dir"
2) "/"
redis安裝目錄為根目錄,根目錄中出現了一個文件,dump.rdb
127.0.0.1:6379> bgsave
Background saving started
SAVE和BGSAVE命令的區別在於:SAVE命令是阻塞主進程,save操作完成之后,主進程才開始工作,客戶端可以連接;BGSAVE命令是fork一個專門save的子進程,此操作不會影響主進程。
把dump.rdb
放到啟動redis的目錄下,重啟redis即可恢復數據。
# sudo /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
6115:C 09 May 22:15:18.406 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6115:C 09 May 22:15:18.406 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=6115, just started
6115:C 09 May 22:15:18.406 # Configuration loaded
必須在特定的目錄下啟動,至於選擇什么配置文件,不重要!
下面是具體的操作:
1、搜索redis
# find / -name redis-cli
/opt/www/redis-3.2.9/src/redis-cli
/usr/local/bin/redis-cli
2、搜索備份所在
# find / -name dump.rdb
/opt/www/redis-3.2.9/dump.rdb
/root/dump.rdb
3、甄別哪個是真的備份
通過大小,日期等
4、搜索配置文件
# find / -name 'redis.conf'
/opt/www/redis-3.2.9/redis.conf
5、redis關掉
# redis-cli
127.0.0.1:6379> shutdown
not connected> exit
6、進入備份文件目錄,進行重啟
# ./src/redis-server /opt/www/redis-3.2.9/redis.conf
這個時候,就成功的找回了備份redis數據。