sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
Agora o script deve iniciar na inicialização. Observe que esse método também funciona com links físicos e simbólicos ( ln
).
Editar
Neste ponto do processo de inicialização, o PATH ainda não está definido, portanto, é fundamental que caminhos absolutos sejam usados por toda parte. MAS, como apontado nos comentários de Steve HHH, declarar explicitamente o caminho completo do arquivo ( /etc/init.d/filename
) para o comando update-rc.d não é válido na maioria das versões do Linux. Per a página de manual para update-rc.d , o segundo parâmetro é um script localizado no /etc/init.d/*
. Atualizado acima do código para refletir isso.
Outra Edição
Também como indicado nos comentários (por Charles Brandt), /filename
deve haver um script no estilo init. Um bom modelo também foi fornecido - https://github.com/fhd/init-script-template .
Outro link para outro artigo apenas para evitar possível apodrecimento do link (embora seja triste se o GitHub morrer) http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts
Outras edições
Como apontado nos comentários (por Russell Yan), isso funciona apenas no modo padrão de update-rc.d.
De acordo com o manual do update-rc.d, ele pode ser executado em dois modos, "as máquinas que usam o modo legado terão um arquivo /etc/init.d/.legacy-bootordering
"; nesse caso, você deve passar a configuração da sequência e do nível de execução através dos argumentos da linha de comando.
O argumento equivalente definido para o exemplo acima é
sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .