Ich behalte meine Sphinx-PID in /var/run/sphinx/searchd.pid, aber bei jedem Neustart verschwindet das Verzeichnis / var / run / sphinx und die Sphinx startet nicht. Gibt es eine Möglichkeit, dieses Verzeichnis festzuhalten oder automatisch erstellen zu lassen? Wie gehen die Leute normalerweise mit dieser Situation um? Ich benutze Ubuntu Hardy
19
mount
?Antworten:
Dieses Verzeichnis ist von Natur aus kurzlebig. Wenn der Inhalt über die Stiefel hinweg steckt, können alle möglichen hässlichen Effekte auftreten, da dort Kontrollskripte verschiedener Art nachsehen, welche Prozesse sie signalisieren sollen. Auf neueren Systemen wird diese temporäre Natur durch das Mounten
/var/run
als erzwungentmpfs
, während ältere Systeme beim Start nur alles im Verzeichnis löschten.Daher müssen Sie Sphinx oder sein Startskript konfigurieren, um dieses Verzeichnis zu erstellen, oder einfach die PID-Datei
/var/run
direkt eingeben .quelle
Sie haben mindestens zwei Chancen:
mkdir -p /var/run/sphinx/
oder
pid_file = /var/run/sphinx-searchd.pid
in/etc/sphinx.conf
Ich bin für den zweiten.
quelle
Es gibt jetzt einen zentralen Mechanismus für die Erstellung solcher temporären Dateien und Verzeichnisse. Ein Dienst, der diese Methode verwenden möchte, kann mit Ubuntu mkdir-Befehle in seinem eigenen Startskript entfernen und stattdessen eine .conf-Datei in /etc/tmpfiles.d, /run/tmpfiles.d oder /usr/lib/tmpfiles.d ablegen Dienste scheinen die letzte Option zu bevorzugen. Erstellen Sie für Ihren Fall eine Datei
/usr/lib/tmpfiles.d/sphinx.conf
.Der Inhalt der Datei wäre:
d /var/run/sphinx 0755 root root
Hier
d
steht Verzeichnis, daneben Pfad, Berechtigung, Eigentümer und Gruppe.Dadurch wird das
/var/run/sphnix
Verzeichnis beim Neustart erstellt.Überprüfen Sie die vollständige Dokumentation tmpfiles.d
quelle