Redis backup & restore
Короткая заметка по резервному копированию и восстановлению Redis.
Backup
Резервное копирование происходит так. Заходим в Redis CLI:
$ redis-cli
Если сервис Redis недоступен или остановлен, вы получите вот такой ответ:
Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected>
Если все хорошо, то строка приветствия измениться на:
127.0.0.1:6379>
Теперь следует авторизоваться, ведь ваш Redis закрыт аутентификацией, так?
127.0.0.1:6379> auth <redis_password>
Далее нам нужно уточнить, куда Redis пишет свои данные на диске:
127.0.0.1:6379> config get dir
Теперь мы готовы записать изменения на диск:
127.0.0.1:6379> save
Готовую копию вы найдете по пути, который вы узнали чуть ранее, в файле dump.rdb, например /var/lib/redis/dump.rdb.
Restore
Для восстановления, вам необходимо остановить Redis сервер, отключить создание снимков и AOF (подробнее в руководстве), если они включены. В зависимости от того, как запущен Redis, вы можете это сделать изменив конфигурационный файл:
# redis.conf
appendonly no # Отключаем AOF
# save 60 1000 # Комментируем строку настройки snapshot'ов
или строку запуска демона:
redis-server --appendonly no
Теперь вам нужно положить файл резервной копии в директорию данных Redis и запустить сервис. Проверить, что данные подтянулись, вы можете, например, командой:
127.0.0.1:6379> scan -1
Вы должны получить последнюю запись из кэша.
Если вы хотите включить AOF обратно, вам нужно сказать Redis записать AOF-файл:
127.0.0.1:6379> BGREWRITEAOF
Статус вы можете найти в секции persistence, выполнив команду:
127.0.0.1:6379> INFO
Все, теперь вы можете откатить изменения в файле конфигурации или строке запуска демона и перезапустить Redis.