
Eu tenho um script no Ubuntu que coloquei em /etc/init.d. Ele tem permissões 0755 e posso executá-lo manualmente tanto na execução quanto no fornecimento, com bons resultados. Eu tenho links simbólicos em /etc/rc3.d e /etc/rc5.d, ambos chamados S01raid, ambos apontando para o script init.d. No entanto, quando reinicio a máquina, o script parece não funcionar. Não vejo o array montado ou mesmo em execução, nem vejo o daemon do monitor em execução na saída ps -A
O que estou perdendo aqui?
conteúdo do roteiro:
#!/bin/sh -e
modprobe raid5
mdadm --assemble --scan
mdadm --monitor --scan --daemonize --delay 120 --program /etc/mdadm/scram.sh
mount -t xfs /dev/md0 /mnt/
Responder1
Sugiro que você siga as ferramentas padrão para executar um script na inicialização.
Olhe paraesta respostapara uma pergunta semelhante, onde listei as etapas a seguir. Além disso, como mencionado por outro usuário nessa questão, para fins de teste eu apenas colocaria os comandos em /etc/rc.local, antes da "saída 0".
Você também precisa garantir que todos os serviços dos quais isso depende já estejam iniciados quando for executado. Verifique os logs em /var/log para ver se há mensagens de erro.
Responder2
"S01" significa que ele é executado bem no início do processo de inicialização. A primeira coisa que eu faria é ter certeza de que não há coisas que precisem ser executadas primeiro e depois (têm números mais altos).
No meu sistema Ubuntu, sysklogd é S10 e mdadm é S25, então pelo menos aumente-o para que você possa ver se ele registra alguma coisa.