在 CentOS 上备份 Redis 数据,常见且推荐的方式是 RDB 快照备份 + AOF 文件备份。下面按生产环境常用做法给你一个完整说明。
Redis 默认数据目录一般在:
/var/lib/redis
或(编译安装时):
/usr/local/redis/data
查看实际配置:
redis-cli CONFIG GET dir
redis-cli CONFIG GET dbfilename
示例输出:
dir /var/lib/redis
dbfilename dump.rdb
redis-cli SAVE
或(推荐,非阻塞):
redis-cli BGSAVE
生成文件:
/var/lib/redis/dump.rdb
cp /var/lib/redis/dump.rdb /backup/redis/dump_$(date +%F).rdb
建议写入定时任务:
crontab -e
0 2 * * * cp /var/lib/redis/dump.rdb /backup/redis/dump_$(date +\%F).rdb
查看是否开启 AOF:
redis-cli CONFIG GET appendonly
如果返回:
appendonly yes
AOF 文件路径:
redis-cli CONFIG GET appendfilename
通常:
/var/lib/redis/appendonly.aof
cp /var/lib/redis/appendonly.aof /backup/redis/appendonly_$(date +%F).aof
⚠️ 注意:AOF 文件可能正在写入,建议先执行:
redis-cli BGREWRITEAOF
再备份。
# 在从节点执行
redis-cli REPLICAOF 主节点IP 6379
✅ 优点:
systemctl stop redis
cp dump.rdb /var/lib/redis/dump.rdb
systemctl start redis
✅ 推荐组合
| 类型 | 建议 |
|---|---|
| RDB | 每小时或每天 |
| AOF | 开启(always / everysec) |
| 异地备份 | 同步到 OSS / 文件服务器 |
| 备份保留 | 7~30 天 |
❌ 直接 cp 正在写入的 RDB
✅ 使用 BGSAVE 后再备份
❌ 只备份 AOF 没备份 RDB
✅ 至少要有一个完整快照
redis-cli ping
redis-cli INFO persistence
redis-cli LASTSAVE
如果你愿意,我可以帮你:
直接告诉我你的 Redis 版本和部署方式即可。