温馨提示×

centos如何备份redis

小樊
49
2026-07-08 07:17:12
栏目: 云计算

CentOS 上备份 Redis,常见且推荐的方式是 RDB 快照备份 + AOF 文件备份,也可以直接拷贝数据文件。下面按生产环境常用方案给你说明。


一、确认 Redis 数据目录

先找到 Redis 的数据目录和配置文件:

ps -ef | grep redis

通常配置文件在:

/etc/redis.conf

查看数据目录:

grep "^dir" /etc/redis.conf
grep "^dbfilename" /etc/redis.conf

示例:

dir /var/lib/redis
dbfilename dump.rdb

二、方式一:使用 RDB 快照备份(推荐)

1️⃣ 手动触发 RDB 快照

redis-cli SAVE

或(非阻塞,推荐)

redis-cli BGSAVE

查看是否完成:

redis-cli LASTSAVE

2️⃣ 备份 RDB 文件

cp /var/lib/redis/dump.rdb /backup/redis/dump_$(date +%F).rdb

建议写个脚本:

#!/bin/bash
BACKUP_DIR=/backup/redis
mkdir -p $BACKUP_DIR

redis-cli BGSAVE
sleep 5
cp /var/lib/redis/dump.rdb $BACKUP_DIR/dump_$(date +%F_%H%M).rdb

三、方式二:备份 AOF 文件(如已开启)

查看是否开启 AOF:

grep appendonly /etc/redis.conf

如果:

appendonly yes

AOF 文件一般在:

/var/lib/redis/appendonly.aof

备份:

cp /var/lib/redis/appendonly.aof /backup/redis/appendonly_$(date +%F).aof

建议 RDB + AOF 同时备份


四、方式三:直接拷贝数据目录(停机或冷备)

1️⃣ 停止 Redis(不推荐生产)

systemctl stop redis

2️⃣ 拷贝数据目录

cp -a /var/lib/redis /backup/redis_$(date +%F)

3️⃣ 启动 Redis

systemctl start redis

⚠️ 冷备会影响业务,不建议线上使用。


五、定时自动备份(crontab)

crontab -e

每天凌晨 2 点备份:

0 2 * * * /usr/bin/redis-cli BGSAVE && sleep 10 && cp /var/lib/redis/dump.rdb /backup/redis/dump_$(date +\%F).rdb

六、恢复 Redis 数据(补充)

  1. 停止 Redis
systemctl stop redis
  1. 拷贝备份文件
cp dump.rdb /var/lib/redis/dump.rdb
chown redis:redis /var/lib/redis/dump.rdb
  1. 启动 Redis
systemctl start redis

七、生产环境建议 ✅

  • ✅ 优先使用 BGSAVE + RDB 备份
  • ✅ 定期备份 + 异地存储
  • ✅ 不要只依赖 AOF
  • ✅ 备份前确认 Redis 没有大量写入阻塞

如果你愿意,我可以帮你:

  • ✅ 写 完整备份脚本
  • ✅ 配置 主从 + 备份方案
  • ✅ 判断你当前 Redis 是 RDB 还是 AOF

直接把 redis.conf 发我即可。

0