Os passos abaixo mostra como configurar um serviço no systemd para executar um script ao iniciar o Linux, quando uma conexão de rede já estiver disponível.
sudo mkdir /diretorio
sudo nano /diretorio/meu-script.sh
arquivo="/diretorio/teste.txt"
dataHora=$(date "+%d/%m/%Y %H:%M:%S")
texto="$dataHora - Script executado!"
echo $texto >> $arquivo
sudo chmod +x /diretorio/meu-script.sh
sudo /diretorio/meu-script.sh
cat /diretorio/teste.txt
sudo nano /lib/systemd/system/meu-script.service
[Unit]
Description=Meu script para testes
Wants=network-online.target
After=network.target
[Service]
ExecStart=/bin/bash /diretorio/meu-script.sh
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start meu-script
sudo cat /diretorio/teste.txt
sudo systemctl enable meu-script
sudo shutdown -r now
sudo cat /diretorio/teste.txt
EXEMPLO: Como iniciar o manager do LAMMP e o Exectável do XAMPP
sudo nano .bashrc
Adicione
# Apelido do LAMPP no arquivo
alias xampp='sudo /opt/lampp/xampp start'
alias lampp='sudo /opt/lampp/manager-linux-x64.run'
$ xampp
$ lampp
Observações:
- A configuração After=network.target informa ao systemd para executar o serviço após iniciar o serviço de rede.
- A configuração Wants=network-online.target informa ao systemd que nosso serviço necessita do serviço de rede online, ou seja, requer conexão de rede disponível.
- A configuração WantedBy=multi-user.target informa ao systemd que nosso serviço é requerido para o nível de execução multi-user.target.
- Testado no Ubuntu Linux 20.04 LTS, mas deve funcionar em outras distribuições e versões que usem o systemd.
Social