And*_*i O 4 ubuntu redis systemd
我在 Ubuntu 18.04.1 LTS 上运行 Redis 4.0.9,并带有 RBD 文件的自定义数据目录。
为了完成这项工作,除了将dir
in更新redis.conf
到新位置之外,我还必须更新/etc/systemd/system/redis.service
和设置:
ReadWriteDirectories=-/my/custom/data/dir
(如此处所述:https : //stackoverflow.com/questions/44814351/failed-opening-the-rdb-file-read-only-file-system)
一切正常,直到突然有一天 RedisFailed opening the RDB file backup.rdb (in server root dir /var/lib/redis) for saving: Read-only file system
再次开始给出错误,好像ReadWriteDirectories
没有设置为新的数据目录。
我检查了/etc/systemd/system/redis.service
,ReadWriteDirectories
我添加的条目确实消失了。我重新添加了它,重新启动后,Redis 再次正常工作并且可以保存数据。
我的问题是:怎么可能/etc/systemd/system/redis.service
改变而我的ReadWriteDirectories
线消失了?我是唯一可以使用这台机器的人。在某些情况下,此文件会自动覆盖吗?我可以禁用它吗?
您不打算编辑随软件包一起提供的 systemd 服务文件。这些可以随时更换,例如当包更新时。
相反,您应该创建包含要进行更改的覆盖文件。这些将被保留,因为它们不是更新的系统包的一部分。
执行此操作的简单方法是运行systemctl edit redis
. 这将创建一个覆盖插入文件/etc/systemd/system/redis.service.d/override.conf
,您可以在其中放置您的更改(和适当的部分):
[Service]
ReadWriteDirectories=-/my/custom/data/dir
Run Code Online (Sandbox Code Playgroud)
您也可以.conf
手动创建该目录并放置以该目录结尾的文件。但不要将目录留空,因为这将禁用该服务。
在任何一种情况下,运行systemctl daemon-reload
,您就可以重新启动您的服务。
归档时间: |
|
查看次数: |
2667 次 |
最近记录: |