Eu tenho um servidor Debian e só preciso executar um script na inicialização.
Eu li o seguinte: https://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian
Eu tenho agora: insserv: warning: script 'falta tags e substituições LSB
então parece que eu tenho que adicionar agora:
### 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
Agora parece louco: são 30 linhas de script apenas para executar um programa na inicialização.
Existe uma ferramenta que permita fazer isso de maneira simples?
Saudações
debian
debian-wheezy
yarek
fonte
fonte
Respostas:
Se o seu script for "apenas um script" e não iniciar um daemon, considere usar
/etc/rc.local
(executado como root) oucrontab
(executado como usuário de sua escolha).Dois exemplos:
/etc/rc.local
crontab
(editado por, por exemplocrontab -e
)Editar 1: Apenas leia seu comentário: Se o seu script iniciar daemons, que deve ser executado o tempo todo, eu desaconselharia o uso de
rc.local
oucrontab
e, em vez disso, escrevesse uminit.d
(s) script (s) apropriado (s). Dessa forma, você / seu sistema é capaz de reiniciar / recarregar / iniciar / parar de maneira limpa os daemons.Edit 2: Você o considera louco, mas
LSB tags
fornece algum valor: "Ao documentar as dependências em tempo de execução dos scripts init.d, torna-se possível verificar a ordem de inicialização atual, ordenar a inicialização usando essas dependências e executar scripts de inicialização em paralelo para acelerar o processo de inicialização ". Para mais detalhes, acesse o wiki do Debian .(A propósito: é um aviso, na verdade, cabe a você, como e o que fazer com isso.)
fonte
@reboot root /usr/local/bin/your-script.sh
supervisord também é uma opção. Você escreverá novamente algumas linhas para iniciar o material node.js e PHP, mas serão menos.
fonte
Você pode usar o monitd para isso, basta escrever uma definição de monit e ele iniciará daemons para você. Mas por que você não usa o caminho correto com scripts LSB? Não é tão difícil escrever (você está escrevendo apenas uma vez) e é a maneira mais limpa e valiosa de conseguir isso.
fonte