На Ubuntu 14.04.5 LTS я использую сценарий для перезапуска некоторых сервисов, когда сертификат TLS, который используется, возобновляется. Скрипт запущен через crontab корня. Любое изменение является триггерами сертификата TLS команды, чтобы перезапустить сервисы и активировать новый сертификат.
Когда команда service vsftpd restart
выполняется, демон крона регистрирует следующую ошибку: vsftpd: unrecognized service
Само собой разумеется, это service vsftpd restart
работы как ожидалось при выполнении на командной строке корня.
Я также заметил, что vsftpd не появляется в списке сервисов при выполнении service --status-all
Crontab для корня
14 7 * * * /root/vesta-server-ssl-cert.sh
Вопрос: Что корректная команда должна быть помещена в сценарии для перезапуска vsftpd сервис через crontab корня?
У меня была та же проблема с другими сервисами некоторое время назад; разрешенный это при помощи initctl и не вырыло глубже для обнаружения то, что продолжалось. Так попытка:
/sbin/initctl restart vsftpd
это должно работать.
, О, я ненавижу их, "это работает, не знайте, почему" ответы, но это - все, что я имею в настоящий момент.
Редактирование: хорошо, теперь я чувствую себя лучше. service
сценарий оболочки, и он должен иметь/sbin в среде ПУТИ, иначе он не может найти остановку и запустить двоичные файлы, на которые он отображает "перезапуск". Затем это использует/etc/init.d/сценарий, который это не может найти, таким образом, это сообщает "о нераспознанном сервисе"
TomTomTom