Ultimas do CanalQb

Ubuntu - VMS da Oracle - Criando um Serviço de Script Python

Vamos direto ao ponto. Se a imagem que você está criando não tiver o systemd, instale-o usando o seguinte comando:
sudo apt-get install -y systemd
Após isso, crie um arquivo de teste para validar se o Python está funcionando corretamente. Estou utilizando este script de exemplo:
sudo nano arquivo.py
Digite o código abaixo no arquivo e salve-o com o nome desejado (por exemplo, arquivo.py):
import time
from datetime import datetime

while True:
    with open("timestamp.txt", "a") as f:
        f.write("The current timestamp is: " + str(datetime.now()))
        f.close()
    time.sleep(10)
Agora vamos criar um serviço para executar o script .py. Crie um arquivo chamado "teste.service" usando o seguinte comando:
sudo nano /etc/systemd/system/teste.service
Copie e cole o seguinte conteúdo no arquivo:
[Unit]
Description=Nome para rotina do arquivo.py
After=multi-user.target

[Service]
Type=simple
Restart=always
User=Seuusuario
ExecStart=/usr/bin/python /home/ubuntu/site/arquivo.py

[Install]
WantedBy=multi-user.target
Lembre-se de substituir "Nome para rotina do arquivo.py" pelo nome que você deseja dar ao serviço e "Seuusuario" pelo seu nome de usuário. Em "ExecStart", ajuste o caminho para o Python e para o arquivo .py, conforme necessário.

Salve e feche o arquivo. Agora vamos iniciar o serviço e ativá-lo para que ele seja executado automaticamente na inicialização:
sudo systemctl daemon-reload
sudo systemctl enable teste.service
sudo systemctl start teste.service
Para verificar se o serviço está sendo executado corretamente, utilize o seguinte comando:
sudo systemctl status teste.service
Existem vários outros comandos que você pode utilizar para controlar o serviço, como parar, reiniciar, visualizar logs, entre outros. Alguns exemplos são:
sudo systemctl stop teste.service
sudo systemctl restart teste.service
sudo journalctl -u teste.service -n 100
Se você estiver enfrentando problemas de acesso à internet em suas VMs, pode ser necessário corrigir as configurações de DNS. Para fazer isso, abra o arquivo "resolv.conf" com o seguinte comando:
sudo nano /etc/resolv.conf
No arquivo, altere o valor de "nameserver" de "127.0.0.X" para "8.8.8.8". Salve o arquivo e saia, mas evite reiniciar a VM, pois isso pode reverter as alterações.

Nenhum comentário

Comente só assim vamos crescer juntos!

Observação: somente um membro deste blog pode postar um comentário.