Je garde mon pid sphinx dans /var/run/sphinx/searchd.pid mais à chaque redémarrage, le répertoire / var / run / sphinx disparaît et sphinx ne démarre pas. Existe-t-il un moyen de coller ce répertoire ou de le créer automatiquement? Comment les gens gèrent-ils généralement cette situation? J'utilise Ubuntu Hardy
19
mount
?Réponses:
Ce répertoire est éphémère de par sa conception. Si son contenu était coincé entre les bottes, toutes sortes d'effets moches pouvaient se produire, car des scripts de contrôle de différentes sortes y regardaient pour voir quels processus ils devaient signaler. Sur les systèmes récents, cette nature temporaire est renforcée par le montage
/var/run
astmpfs
, tandis que les anciens systèmes ont simplement supprimé tout dans le répertoire au démarrage.Par conséquent, vous devez configurer Sphinx ou son script de démarrage pour créer ce répertoire, ou simplement écrire le fichier PID
/var/run
directement.la source
Vous avez au moins deux chances:
mkdir -p /var/run/sphinx/
ou
pid_file = /var/run/sphinx-searchd.pid
en/etc/sphinx.conf
Je suis pour le second.
la source
il existe désormais un mécanisme centralisé de création de fichiers et répertoires temporaires tels que ceux-ci. Un service souhaitant utiliser cette méthode peut supprimer les commandes mkdir dans son propre script de démarrage et placer à la place un fichier .conf dans /etc/tmpfiles.d, /run/tmpfiles.d ou /usr/lib/tmpfiles.d, avec Ubuntu les services semblant préférer la dernière option. pour votre cas, créez un fichier
/usr/lib/tmpfiles.d/sphinx.conf
.le contenu du fichier serait:
d /var/run/sphinx 0755 root root
ici
d
représente le répertoire, à côté se trouve le chemin, l'autorisation, le propriétaire et le groupe.Cela créera le
/var/run/sphnix
répertoire au redémarrage.Consultez la documentation complète tmpfiles.d
la source