Я держу свой pid sphinx в /var/run/sphinx/searchd.pid, но каждый раз, когда я сильно перезагружаю каталог, / var / run / sphinx исчезает и sphinx не запускается. Есть ли способ заставить этот каталог придерживаться или он автоматически создается? Как люди обычно справляются с этой ситуацией? Я использую Ubuntu Hardy
19
mount
?Ответы:
Этот каталог эфемерен по замыслу. Если его содержимое застревает в сапогах, могут возникнуть всевозможные уродливые эффекты, поскольку различные сценарии управления ищут там, чтобы увидеть, о каких процессах они должны сигнализировать. В последних системах этот временный характер обеспечивается подключением
/var/run
astmpfs
, в то время как старые системы просто удаляют все в каталоге при запуске.Поэтому вам необходимо настроить Sphinx или его загрузочный скрипт для создания этого каталога или просто записать PID-файл
/var/run
напрямую.источник
У вас есть как минимум два шанса:
mkdir -p /var/run/sphinx/
или
pid_file = /var/run/sphinx-searchd.pid
в/etc/sphinx.conf
Я за второй.
источник
теперь существует централизованный механизм для создания временных файлов и каталогов, подобных этим. Служба, желающая использовать этот метод, может удалить команды mkdir в своем собственном сценарии запуска и вместо этого поместить файл .conf в /etc/tmpfiles.d, /run/tmpfiles.d или /usr/lib/tmpfiles.d в Ubuntu. сервисы вроде бы предпочли последний вариант. для вашего случая создайте файл
/usr/lib/tmpfiles.d/sphinx.conf
.содержимое файла будет:
d /var/run/sphinx 0755 root root
здесь
d
обозначает каталог, рядом с ним - путь, разрешение, владелец и группа.Это создаст
/var/run/sphnix
каталог при перезагрузке.Оформить полную документацию tmpfiles.d
источник