depois adicionei o script na inicialização
Sudo update-rc.d ts.sh defaults
OK. Então vc está iniciando o script junto com o sistema normal... uma alternativa seria vc mudar o "runlevel" do sistema, por exemplo, pra iniciar automaticamente no runlevel 3, em vez do 2 (padrão do Ubuntu).
Paralelamente, vc configuraria seu script pra não iniciar no runlevel 2.
Daí, quando vc quisesse fazer alguma manutenção do equipamento, interromperia o boot e adicionaria um "2" ao final da linha de chamada do kernel.
Dá pra fazer também alguma coisa com o GRUB e variáveis customizadas na linha de chamada do kernel.