Я написал демон, который следит за файлами в определенном каталоге, и если новый файл копируется в этот каталог, то он фиксируется в SVN. Новые файлы появляются в этом каталоге только в том случае, если удаленные устройства копируют файлы туда через scp
. Теперь я хотел бы создать сценарий инициализации System-V для этого демона в OpenSUSE 11.4. Очевидно, что эта Required-Start:
строка должна содержать только $sshd
загрузочное средство, поскольку это гарантирует, что локальная файловая система смонтирована, сеть работает и sshd
запущена. Эти три загрузочных средства являются предварительными условиями для демона, т. е. нет смысла запускать демон, если sshd
он не работает и, таким образом, невозможно, чтобы он получал новые файлы через scp
. Однако я немного озадачен, как мне настроить строку Required-Stop:
, в которой перечислены все загрузочные средства, которые должныНЕТостанавливаться перед выключением демона. Мне кажется логичным, чтобы локальные файловые системы были смонтированы, а сетевое взаимодействие — работоспособным (для загрузки файлов в SVN), пока sshd
остановлен (для того, чтобы не получать новые файлы) до остановки демона. Required-Stop: $sshd
может создать ситуацию, когда демон останавливается, пока новый файл поступает scp
до sshd
остановки.
Итак, вкратце, следующий подход кажется мне наиболее логичным:
# Required-Start: $sshd
# Required-Stop: $local_fs $network
Я прав?
решение1
В соответствии сhttps://wiki.debian.org/LSBInitScriptsв разделе оRequired-Stop
Обычно здесь включаются те же возможности, что и для ключевого слова Required-Start.
Запуск этого скрипта перед ssh
запуском не является проблемой, как вы предположили в OP, это просто означает, что этот демон будет ждать файлы, которые никогда не появятся, пока ssh
не запустится. Однако этот скрипт определенно нуждается в функциональности, $local_fs
поэтому $network
я бы использовал следующие две строки
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network