在Ubuntu环境下,备份Redis数据的策略主要包括以下几种:
使用 redis-cli 命令行工具进行备份
- SAVE 或 BGSAVE 命令:
SAVE命令会立即创建一个RDB文件,并阻塞Redis服务器直到快照完成。BGSAVE命令在后台异步执行快照,不会阻塞Redis服务器。
使用第三方工具进行备份
-
redis-dump:
- 用于备份和恢复Redis数据的命令行工具。
- 安装:
sudo apt-get install redis-tools(适用于Debian/Ubuntu系统)。 - 使用示例:
redis-dump -u redis://username:password@host:port > backup.rdb。
-
redis-sync:
- 用于同步Redis数据的工具。
- 安装:
sudo apt-get install redis-tools(适用于Debian/Ubuntu系统)。 - 使用示例:
redis-sync -u redis://username:password@source_host:port -d destination_host:port --format rdb > backup.rdb。
使用配置文件和定时任务实现自动备份
-
RDB自动备份:
- 编辑Redis配置文件
/etc/redis.conf,设置save参数来定义自动保存条件。 - 例如:
save 900 1表示在900秒内至少有1个键发生变化时,触发RDB快照。
- 编辑Redis配置文件
-
AOF自动备份:
- 在Redis配置文件
/etc/redis.conf中启用AOF持久化:appendonly yes。 - 定期备份AOF文件,例如使用cron任务每天复制AOF文件到备份目录。
- 在Redis配置文件
使用系统自带或第三方备份工具进行全系统备份
-
Deja Dup:
- Ubuntu自带的备份工具,支持备份到外部硬盘、网络存储、云存储等。
- 通过系统设置中的“备份”选项进行配置。
-
Timeshift:
- 适用于桌面用户的系统备份工具,支持增量备份。
- 通过系统设置或命令行安装并使用。
-
rsync:
- 强大的文件同步工具,适用于手动备份特定文件和目录。
- 使用示例:
sudo rsync -aAXv --exclude="/dev/*" "/ /path/to/backup/folder"。
恢复Redis数据库
- 从RDB恢复:
- 停止Redis服务,将RDB文件复制到数据目录,然后重启Redis。
- 从AOF恢复:
- 停止Redis服务,将AOF文件复制到数据目录,然后重启Redis。