Redis 在 /tmp 中创建 dump.rdb

Redis creating dump.rdb in /tmp

使用 redis 和 sidekiq 进行后台处理,并从不同的服务器在 sidekiq 上创建作业,而不是在 sidekiq 所在的地方 运行。

Redis 数据的

dir 设置为 /var/lib/redis,redis 最初指向哪个。但不知何故,dir 被设置为 /tmp。现在,dump.rdb 正在 /tmp 中创建,它会随时重置并且数据会丢失。

redis.conf 的部分配置如下:

daemonize yes
pidfile /var/run/redis/redis-server.pid
port 6379
logfile /var/log/redis/redis-server.log
databases 16
save 300 10
dir /var/lib/redis
dbfilename dump.rdb
#bind 127.0.0.1

什么会导致 redis 在 /tmp 中创建 dump.rdb

根据您的 Redis 服务器的版本及其配置,您所描述的可能是未经授权访问您的数据库的结果。

如果您的数据库可以被外界访问并且没有得到适当的保护,任何人都可以向它发出 CONFIG SET dir 指令(或与此相关的任何其他命令)。

为了更好地了解潜在的损害,请参阅 Redis 作者的说明 post:http://antirez.com/news/96