init.d script não está sendo executado?

4

Eu tenho um script no Ubuntu que eu coloquei em /etc/init.d. Ele tem 0755 permissões, e posso executá-lo manualmente tanto para executá-lo quanto para obtê-lo, 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. Quando eu reinicio a máquina, no entanto, o script não parece rodar. Eu não vejo o array montado ou mesmo em execução, nem vejo o daemon do monitor rodando na saída ps -A

O que estou perdendo aqui?

conteúdo do script:

#!/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/
    
por Jeff Shattock 25.08.2009 / 18:12

2 respostas

2

Sugiro que você siga as ferramentas padrão para executar um script na inicialização.

Veja esta resposta a uma pergunta semelhante pergunta, onde eu listei os passos a seguir. Além disso, como mencionado por outro usuário nessa questão, para fins de teste, basta colocar 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 isso for executado. Verifique os logs em / var / log para quaisquer mensagens de erro.

    
por 25.08.2009 / 18:20
2

"S01" significa que é executado bem cedo no processo de inicialização. A primeira coisa que faço é ter certeza de que não há coisas que precisem ser executadas primeiro (mais numerosas).

No meu sistema Ubuntu, o sysklogd é o S10 e o mdadm é S25, então, pelo menos, torná-lo maior do que aqueles, para que você possa ver se ele registra alguma coisa.

    
por 25.08.2009 / 18:16