У меня есть сервер Debian, и мне просто нужно запустить скрипт при запуске.
Я читал это: https://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian
Я получил: insserv: warning: script 'отсутствуют теги LSB и переопределяются
так что, похоже, мне нужно добавить сейчас:
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
Теперь это выглядит безумно: как 30 строк сценария только для запуска программы при запуске.
Есть ли инструмент, который позволяет сделать это просто?
С уважением
Рассмотрите возможность использования /etc/rc.local
(выполняется как root) или crontab
(выполняется от имени пользователя по вашему выбору).
Два примера:
/etc/rc.local
#!/bin/sh -e
#(Multiple lines of comments removed.)
/usr/local/bin/your-script.sh
exit 0
crontab
(отредактировано, например, crontab -e
)
#(Multiple lines of comments removed.)
@reboot /usr/local/bin/your-script.sh
Если ваш сценарий должен работать постоянно в фоновом режиме, я бы не советовал использовать rc.local
или crontab
, а вместо этого напишите правильный (или несколько) init.d
сценарий (ы). Таким образом вы / ваша система сможете перезапустить / перезагрузить / запустить / остановить и т. Д. Демонов.
В LSB tags
предоставляют некоторую ценность: «За счет документирования зависимостей времени выполнения для сценариев init.d становится возможным проверить текущий порядок загрузки, упорядочить загрузку с использованием этих зависимостей и запустить сценарии загрузки параллельно для ускорения процесса загрузки». Для получения более подробной информации перейдите на Вики Debian.
Кстати, отсутствующие заголовки: это предупреждение, так что на самом деле, как и что с этим делать, решать только вам.
руководитель тоже вариант. Вы снова напишете несколько строк, чтобы начать работу с node.js и PHP, но их будет меньше.
Ты можешь использовать monitd для этого просто напишите какое-нибудь определение monit, и он запустит за вас демонов. Но почему вы не используете правильный способ работы со сценариями LSB? Это не так сложно написать (вы пишете только один раз), и это самый чистый и самый ценный способ добиться этого.