Frage Das Verzeichnis in / var / run wird nach einem harten Neustart gelöscht


Ich behalte meine Sphinx-PID in /var/run/sphinx/searchd.pid, aber jedes Mal, wenn ich einen harten Neustart durchführe, verschwindet das Verzeichnis / var / run / sphinx und sphinx startet nicht. Gibt es eine Möglichkeit, dieses Verzeichnis zu speichern oder automatisch erstellen zu lassen? Wie gehen die Menschen normalerweise mit dieser Situation um? Ich benutze Ubuntu Hardy


18
2017-10-15 15:02


Ursprung


Können Sie uns die Ausgabe von geben? mount? - reconbot


Antworten:


Dieses Verzeichnis ist kurzlebig. Wenn sein Inhalt über die Boot-Bereiche hinweg bleibt, können alle möglichen hässlichen Effekte auftreten, da Kontrollskripts verschiedener Art dort nachsehen, welche Prozesse sie signalisieren sollten. Bei einem neueren System wird diese temporäre Natur durch die Installation erzwungen /var/run wie tmpfs, während ältere Systeme beim Start einfach alles im Verzeichnis gelöscht haben.

Daher müssen Sie Sphinx oder sein Startskript konfigurieren, um dieses Verzeichnis zu erstellen, oder einfach die PID-Datei in schreiben /var/run direkt.


16
2017-10-15 15:27



+1 für die Beschreibung von / var / run. Beachten Sie jedoch, dass die PID-Datei während eines Neustarts nicht persistent sein soll. nur das Sphinx-Verzeichnis. - Steve Folly


Du hast mindestens zwei Chancen:

  • Ändere dein Init-Skript, um a zu machen mkdir -p /var/run/sphinx/ 

oder

  • einstellen pid_file = /var/run/sphinx-searchd.pid im /etc/sphinx.conf

Ich bin für den zweiten.


14
2017-10-15 15:10



Und natürlich bedeutet dies, dass das Startskript als root ausgeführt werden muss, um direkt in / var / run ein Verzeichnis schreiben oder erstellen zu können. Was nervig ist ... - Eloff
Ich habe auch die zweite Lösung gewählt. Es sieht so aus, als hätte es Vorrang (cron, ssh, atd, syslog). - BillMan