Não é incomum precisarmos executar um script sempre que a maquina for iniciada. No linux esta é uma tarefa bem simples. Neste post, vou mostrar 3 formas de fazer isso. Obviamente não são as únicas formas de se fazer isso, mas todas são bem simples…
…neste post, vou usar o nano, mas se você preferir ficar preso em um editor de texto, pode usar o Vi.
Para todas as soluções, você vai precisar de privilégios elevados….
sudo su
Solução 01: Adicionando um initscript
Crie um novo script em /etc/init.d/
nano /etc/init.d/anotherScript
Obviamente, seu script não precisa ter o nome anotherScript, você pode mudar isso para o que preferir… Neste script, você vai codificar os comandos que precisam ser executados toda vez que a maquina for iniciada.
Para este exemplo, o script vai inicializar um servidor de Minecraft…
#!/bin/sh java -Xms1024M -Xmx2048M -jar /srv/minecraft/mine.jar
Faça o script ser executável.
chmod ugo+x /etc/init.d/anotherScript
Configure a inicialização do sistema para rodar seu script…
update-rc.d anotherScript defaults
*Update 05/12/2017*: O script acima não está aderente ao padrão LSB-Init. Este post mostra como criar um script de inicialização padronizado. Se escolher este caminho, sugiro seguir os passos do post novo e utilizar um cabeçalho semelhante a este:
### BEGIN INIT INFO # Provides: minecraft # Required-Start: $local_fs $remote_fs screen-cleanup # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Minecraft server # Description: Starts the minecraft server ### END INIT INFO
Solução 02: Adicionando comandos ao /etc/rc.local
Edite o arquivo /etc/rc.local/
nano /etc/rc.local
Adicione o seu comando…
/caminho/para/o/meu/script.sh || exit 1 #Adicionado manualmente exit 0
Solução 03: Adicionando um job upstart (Recomendado)
Cria o arquivo /etc/init/anotherScript.conf
nano /etc/init/anotherScript.conf
Insira um conteúdo informando o que deve ser feito…
description "Iniciar Minecraft automaticamente..." start on startup task exec /srv/minecraft/startup.sh
Latest posts by Breno RdV (see all)
- Estamos de mudança! - abril 28, 2024
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022
Pingback: Entendendo o padrão LSB Init do Linux – Raccoon Ninja