鑫品 2023-12-13 16:24 采纳率: 33.3%
浏览 53

redis: DB file temp-70683.rdb on the final destination crontab (in server root dir /etc)

68621:M 13 Dec 2023 16:03:04.014 * 1 changes in 900 seconds. Saving
68621:M 13 Dec 2023 16:03:04.014 * Background saving started by pid 70683
70683:C 13 Dec 2023 16:03:04.016 # Error moving temp DB file temp-70683.rdb on the final destination crontab (in server root dir /etc): Operation not permitted
68621:M 13 Dec 2023 16:03:04.115 # Background saving error

安装的redis老是报这个问题
配置
dir /var/redisRdb/
dbfilename dump.rdb
一个疑问为什么会到etc去
我软件装在/usr/local/redis 配置文件也在这里

  • 写回答

1条回答 默认 最新

  • 小孟多 2023-12-13 16:36
    关注

    根据您提供的信息,Redis在进行后台保存数据时遇到了权限问题。错误信息中指出无法将临时数据库文件temp-70683.rdb移动到最终目标位置/etc/crontab,因为操作被拒绝。

    这可能是由于Redis服务器没有足够的权限来在/etc目录下进行文件操作。默认情况下,Redis会将持久化文件保存在其工作目录下(通常是Redis配置文件所在的目录),但您的配置文件中指定了将持久化文件保存在/var/redisRdb/目录下。

    要解决这个问题,您可以尝试以下几个步骤:

    检查Redis服务器运行的用户和组。确保Redis服务器以具有适当权限的用户身份运行。您可以使用ps -ef | grep redis-server命令来查看Redis服务器的运行用户。

    确保Redis服务器对保存持久化文件的目录具有适当的写入权限。运行以下命令来设置目录权限:

    sudo chown -R redis:redis /var/redisRdb/
    sudo chmod -R 770 /var/redisRdb/
    
    
    

    检查Redis配置文件是否正确设置了dir和dbfilename选项。确保dir选项指向正确的目录,并且dbfilename选项设置为dump.rdb。在您的情况下,应该为:

    dir /var/redisRdb/
    dbfilename dump.rdb
    
    
    

    重新启动Redis服务器以使更改生效:

    sudo systemctl restart redis-server
    
    
    

    经过以上步骤的尝试后,Redis服务器应该能够正确保存持久化文件到指定的目录/var/redisRdb/下,而不是/etc目录。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月13日