Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Criar e Executar Serviços Python com systemd no Linux

#Linux; #systemd; #Python

Como instalar e configurar systemd para executar scripts 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

Criação de um script Python para teste

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()) + "\n")
    time.sleep(10)

Criando o serviço systemd para o script Python

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=Rotina para execução 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

Importante: substitua Rotina para execução do arquivo.py pelo nome que deseja dar ao serviço e Seuusuario pelo seu nome de usuário no sistema. Ajuste também o caminho para o Python e para o arquivo .py conforme sua estrutura de diretórios.

Ativando e iniciando o serviço

Salve e feche o arquivo. Agora, para iniciar o serviço e configurá-lo para execução automática na inicialização do sistema, execute:

sudo systemctl daemon-reload
sudo systemctl enable teste.service
sudo systemctl start teste.service

Verificando o status do serviço

Para verificar se o serviço está rodando corretamente, use o comando:

sudo systemctl status teste.service

Você também pode controlar o serviço com outros comandos úteis, como:

  • sudo systemctl stop teste.service — para parar o serviço;
  • sudo systemctl restart teste.service — para reiniciar o serviço;
  • sudo journalctl -u teste.service -n 100 — para visualizar os últimos 100 logs do serviço.

Correção de problemas de rede em VMs Linux

Se estiver enfrentando problemas de acesso à internet em suas máquinas virtuais (VMs), pode ser necessário ajustar as configurações de DNS. Para isso, edite o arquivo resolv.conf:

sudo nano /etc/resolv.conf

No arquivo, altere o valor de nameserver de 127.0.0.X para o DNS público do Google:

nameserver 8.8.8.8

Salve e saia do editor. Evite reiniciar a VM após essa alteração, pois algumas distribuições podem sobrescrever o arquivo automaticamente ao reiniciar.

Considerações finais

Esse tutorial oferece um passo a passo para criar, configurar e gerenciar um serviço Linux usando systemd que executa scripts Python continuamente. Essa abordagem é útil para tarefas de monitoramento, automação ou qualquer processo que precise rodar em background com reinício automático.

Nota importante para investidores e usuários: Sempre analise cuidadosamente e entenda o funcionamento dos scripts e serviços antes de executá-los, especialmente em ambientes produtivos ou que envolvam dados sensíveis.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo