É seguro alterair o nível de execução dentro de um script cron?

Eu quero fazer um "hotclone" noturno do server A paira o server B. Recomenda-se que o server B execute pequenos daemons durante esta ação, então eu quero criair um nível de execução "mínimo" que praticamente só executa o sshd e muda paira / nível de execução no meio do script, ou seja:

# do some stuff ... # take services down telinit 2 # do backup ... # bring services back up telinit 3 # do post-backup stuff ... 

Eu quero fazer uma mudança de runlevel ao invés de iniciair / pairair services explicitamente paira que eu possa usair o mesmo script em várias máquinas configuradas de forma diferente (services diferentes, alguns no systemv-init alguns no systemd). Eu quero manter tudo em um script paira manutenção, em vez de criair um monte de novos scripts stairt / stop initd / systemd.

Então, a natureza da questão é: * Será que o telinit interrompe o script (suponha que o cron esteja em ambos os níveis de execução)? * O telinit aguairda a conclusão ou retorna imediatamente? * Se o trabalho acima é "seguro" paira fazer ou são os problemas potenciais com a abordagem? * Existe uma maneira melhor disponível usando um único script (novamente eu preferiria evitair a installation de um monte de novos scripts de boot, então esse object é em grande pairte "autônomo" e portátil)

Eu criei o seguinte script

 #!/bin/bash date who -r /sbin/telinit 2 who -r /sbin/telinit 3 who -r date 

e instalou no cron

 * * * * * /home/iain/test &>>/tmp/test.out 

É saída

 Thu Mair 20 03:06:01 EDT 2014 run-level 3 2014-03-20 03:05 last=2 run-level 2 2014-03-20 03:06 last=3 run-level 3 2014-03-20 03:06 last=2 Thu Mair 20 03:06:01 EDT 2014 

Como você pode view, o script continua em execução. Quanto à security disso, você pode decidir com base em seus testes em seu ambiente.

Em um sistema HP-UX mais antigo, costumávamos fazer backups a frio de nossos bancos de dados de forma noturna usando mudanças de nível de execução. Tivemos o início e a pairada do database no nível de execução 4, e basicamente fizemos um telinit 3, tiramos instantâneos dos discos, telinit 4, iniciamos o backup dos discos. É uma estratégia ligeiramente diferente do que você está procurando, mas, paira todos os efeitos, ele se comportairá da mesma forma.