Ich habe auf meinem Datenbank Server immer wieder Probleme mit meiner Redis Replication. Wenn das Updates kommen überschreibt der immer wieder die Datei des systemd Dienstes.
Unter /etc/systemd/system findet man die Datei redis.service
Dort gibt es zwei Zeilen, die bei mir Schwierigkeiten bereiten.
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ReadWriteDirectories=-/var/redis
Diese müssen bei mir so aussehen
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --supervised systemd --daemonize no
ReadWriteDirectories=-/var/run/redis
Wenn man den Original Dienst ändert, ist das keine gute Idee. Beim nächsten Update ist das dann wieder weg
Ein wenig gegoogelt und mal nachgelesen, wie man das richtig macht. Das läuft eigentlich genauso, wie mit den config Dateien, wo man das so in der Art macht.
Ihr kennt das.
Bei SystemD Diensten legt man ein Verzeichnis an, in meinem Fall
/etc/systemd/redis.conf
Da hinein kommt das File
10-startup.conf
Inhalt des Files
# [Service]
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --supervised systemd --daemonize no
ReadWriteDirectories=-/var/run/redis
Der SystemD Dienst sieht jetzt beim Starten, das diese Datei vorhanden ist und überschreibt dann die Werte entsprechend. Somit startet meine Redis Replication auch, wenn mal wieder ein Update reinkommt.
Vorsicht. Dieser Beitrag kann Fehler enthalten, ich bin mir nicht 100% sicher, das das so alles passt. Beim nächsten Update werde ich sehen ob alles klappt und diese Zeile hier entfernen.
Das hier kann man dann natürlich für alle systemd Dienste benutzen.