Scripts personalizados em /etc/profile.d e /etc/init.d - rhel6 e rhel7

Scripts personalizados em /etc/profile.d e /etc/init.d - rhel6 e rhel7

Preciso iniciar meu script durante a inicialização. Eu li que os scripts em /etc/init.d & /etc/profile.d são originados durante a inicialização do sistema. Quão diferentes são esses diretórios?

Além das duas maneiras acima, parece que também podemos configurar o cron para iniciar o serviço usando uma entrada como @reboot /path/to script.

Por favor, sugira a maneira correta/eficiente de executar o script durante a inicialização do sistema.

Responder1

/etc/profile.dé um meio específico do fornecedor para personalizar o ambiente de uma sessão shell (configuração PATHe assim por diante) e normalmente não estaria relacionado à inicialização de um daemon; alguns até argumentariam que a inicialização do daemon não deveria de forma alguma envolver /etc/profile.d, de modo que as personalizações do shell do usuário não podem fazer com que um daemon falhe ao carregar ou carregue com configurações de ambiente incorretas (fuso horário, localidade ou assim por diante).

/etc/init.dfaz parte do sistema init SystemV conforme implementado no Linux (o Digital UNIX, por outro lado, o colocou em /sbin/init.d); alguém poderia escrever um script de inicialização adequado (estude os scripts existentes para ver como fazer isso corretamente) que iniciaria seu daemon. Isso lhe daria compatibilidade com RHEL6 e RHEL7.

Um @rebootcron job poderia iniciar seu daemon, embora systemdno RHEL7 ofereça melhores recursos de gerenciamento do que disparar e esquecer do cron (o que acontece se o daemon travar? Ele deveria ser reiniciado automaticamente? Quão ruim seria se várias instâncias fossem iniciadas? se estiver ruim, que tipo de bloqueio seria necessário para iniciar apenas uma instância?).

informação relacionada