Aqui está o que eu faço:
1) crie um usuário some_deployer
2) em seguida, crie uma pasta para script como /company/script/<service name>
3) nesta pasta eu crio os start.sh
scripts stop.sh
e e dou a propriedade ao usuário some_deployer
e a permissão com chmod 755
.
4) depois de criar o script na /etc/init.d/
pasta, curta <service name>-service
e dê a propriedade ao usuário some_deployer
e a permissão chmod 755
também.
5) em seguida adicione este serviço à lista de serviços, ainda dentro do /etc/init.d/
with
/sbin/chkconfig --add -service (suse) ou <service name>
padrões update-rc.d (ubuntu)
Isso está correto? Esta é a melhor maneira de proceder? Estou perguntando porque de repente um dos meus serviços que estou criando não está mais funcionando, estou tentando o comando /etc/init.d/-service e diz que command is not found
, por que isso?
Responder1
Não é necessário criar um usuário, mas você certamente poderá fazê-lo se for vantajoso para você. não tenho certeza do que você está falando com /company/script/, mas não há razão para não fazê-lo. apenas certifique-se de que seu arquivo de script esteja em /etc/init.d antes de executar update-rc.d. Não sei por que você deseja usar, /company/script/ mas devido ao seu erro, o nome do seu serviço não está aparecendo.
Veja as especificações LSB para um script init.d aqui:http://wiki.debian.org/LSBInitScripts você cria um único script com os recursos stop/start/restart/force-reload/status e, em seguida, registra-o com update-rc.d ou o que você sugeriu. isso permitirá que update-rc.d aponte para um único arquivo, mas execute todas as operações necessárias usando-o.
Responder2
Não acredite muito no LSB, a maioria das distribuições abandonou há muito tempo sysvinit
o uso do Ubuntu, RHEL upstart
(no caso do RHEL principalmente no modo de compatibilidade SysV), o Fedora está usando systemd
há mais de um ano, no Fedora 18 quase todos os serviços são systemd nativos. Uma das promessas do systemd é continuar lidando com configurações compatíveis com LSB, mas oferece muitas vantagens se usar a configuração nativa. Dê uma olhada em sua extensadocumentação.