我有一个节点 Web 服务在 aws ubuntu 服务器上成功运行了一个多月,请求使用 redis 缓存。
昨天我开始从我的一些路线中收到以下错误:
MICONF Redis 配置为保存 RDB 快照,但目前无法在磁盘上持久化。可以修改数据集的命令被禁用。有关错误的详细信息,请检查 Redis 日志。
我能够通过使用来阻止发生的错误:
config set stop-writes-on-bgsave-error no
Run Code Online (Sandbox Code Playgroud)
正如这个问题的答案中所建议的那样,但它实际上并没有解决根本问题。
为了找到潜在的问题,我检查了日志,发现以下情况已经开始发生:
[1105] 09 Aug 13:17:14.800 - 0 clients connected (0 slaves), 797680 bytes in use
[1105] 09 Aug 13:17:15.101 * 1 changes in 900 seconds. Saving...
[1105] 09 Aug 13:17:15.101 * Background saving started by pid 28090
[28090] 09 Aug 13:17:15.101 # Failed opening .rdb for saving: Permission denied
[1105] 09 Aug 13:17:15.201 # Background saving error
Run Code Online (Sandbox Code Playgroud)
周末没有人使用服务器,但在周末之前日志很好,我们没有收到任何错误:
[12521] 06 Aug 04:49:27.308 - 0 clients connected (0 slaves), 803352 bytes in use
[12521] 06 Aug 04:49:29.012 * 1 changes in 900 seconds. Saving...
[12521] 06 Aug 04:49:29.012 * Background saving started by pid 26663
[26663] 06 Aug 04:49:29.014 * DB saved on disk
[26663] 06 Aug 04:49:29.014 * RDB: 2 MB of memory used by copy-on-write
[12521] 06 Aug 04:49:29.112 * Background saving terminated with success
Run Code Online (Sandbox Code Playgroud)
正如我所说,在此期间没有人接触过这台服务器。
四处寻找有同样问题的人,我发现了这个问题。我按照那里的答案中的建议检查了目录和 db 文件的所有权和权限:
drwxr-xr-x 2 redis redis 26 Aug 6 06:55 redis
-rw-r--r-- 1 redis redis 18 Aug 6 06:55 dump-6379.rdb
Run Code Online (Sandbox Code Playgroud)
权限和所有权对我来说都很好,但我注意到文件和文件夹上的日期介于我最后一次看到服务工作和第一次失败之间。不幸的是,这并没有真正帮助我下一步做什么,我有点不知所措。
我正在寻找下一步的建议以找出问题的原因,或者至少是一种使 redis 能够再次写入的方法。
| 归档时间: |
|
| 查看次数: |
1729 次 |
| 最近记录: |