Como executar automaticamente comandos/scripts durante a reinicialização ou inicialização
- 3604
- 253
- Spencer Emard
Sempre fico fascinado com as coisas acontecendo nos bastidores quando inicializo um sistema Linux e logo. Ao pressionar o botão liga / desliga em um metal nu ou iniciar uma máquina virtual, você coloca em movimento uma série de eventos que levam a um sistema totalmente funcional - às vezes em menos de um minuto. O mesmo acontece quando você efetua logoff e / ou desligar o sistema.
O que torna isso mais interessante e divertido é o fato de que você pode ter o sistema operacional executar certas ações quando ele inicializar e quando você logon ou logout.
Neste artigo distro-agnóstico, discutiremos os métodos tradicionais para atingir esses objetivos no Linux.
Observação: Vamos assumir o uso de Bash como shell principal para eventos de logon e logout. Se você usar um diferente, alguns desses métodos podem ou não funcionar. Em caso de dúvida, consulte a documentação do seu shell.
Executando scripts Linux durante a reinicialização ou startup
Existem dois métodos tradicionais para executar um comando ou executar scripts durante a inicialização:
Método #1 - Use um trabalho de Cron
Além do formato usual (minuto / hora / dia do mês / mês / dia da semana) que é amplamente usado para indicar um cronograma, o Cron Scheduler também permite o uso de @reinício
. Esta diretiva, seguida pelo caminho absoluto para o script, fará com que ele funcione quando as botas da máquina.
No entanto, existem duas advertências nessa abordagem:
- a) O daemon Cron deve estar em execução (que é o caso em circunstâncias normais) e
- b) O script ou o arquivo crontab devem incluir as variáveis de ambiente (se houver) que serão necessárias (consulte este thread StackOverflow para obter mais detalhes).
Método #2 - Use /etc /rc.d/rc.local
Este método é válido mesmo para distribuições baseadas em SystemD. Para que este método funcione, você deve conceder permissões de execução a /etc/rc.d/rc.local
do seguinte modo:
# chmod +x /etc /rc.d/rc.local
e adicione seu script na parte inferior do arquivo.
A imagem a seguir mostra como executar dois scripts de amostra (/home/gacanepa/script1.sh
e /home/gacanepa/script2.sh
) usando um Cron trabalho e rc.local, respectivamente, e seus respectivos resultados.
#!/bin/bhash data = $ (data +'%f%h:%m:%s') dir =/home/gacanepa echo "Data e hora atuais: $ date"> $ dir/file1.TXTscript2.Sh:
#!/bin/bash site = "Tecmint.com "dir =/home/gacanepa echo" $ rocks… adicione -nos aos seus favoritos."> $ Dir/file2.TXTExecute scripts Linux na inicialização
Lembre -se de que ambos os scripts devem receber permissões executadas anteriormente:
$ chmod +x/home/gacanepa/script1.sh $ chmod +x/home/gacanepa/script2.sh
Executando scripts Linux no logon e logout
Para executar um script no logon ou logout, use ~.Bash_profile
e ~.Bash_logout
, respectivamente. Muito provavelmente, você precisará criar o último arquivo manualmente. Basta largar uma linha invocando seu script na parte inferior de cada arquivo da mesma maneira que antes e você está pronto para ir.
Resumo
Neste artigo, explicamos como executar o script no reinicialização, logon e logout. Se você puder pensar em outros métodos que poderíamos ter incluído aqui, fique à vontade para usar o formulário de comentário abaixo para apontá -los. Estamos ansiosos para ouvir de você!