Automatando scripts Python com Systemd um guia passo a passo

Automatando scripts Python com Systemd um guia passo a passo

Pergunta: Como fazer um script python usando o Systemd. Como criar o seu próprio serviço Systemd usando o script python. Como configurar o script python para começar como Systemd. Como gerenciar o serviço Python com o SystemCTL?

'Systemd' é um sistema e gerente de serviço do Linux que permite gerenciar e controlar serviços e daemons em seu sistema. Você pode usar o Systemd para automatizar a execução de scripts Python, criando um serviço Systemd que executa o script na inicialização ou em um cronograma.

O uso do Systemd para automatizar os scripts do Python tem vários benefícios, incluindo a capacidade de iniciar e interromper o script conforme necessário, para executar o script em segundo plano como daemon e configurar dependências e opções de tempo de execução.

Aqui está um guia passo a passo sobre como automatizar um script python usando o Systemd:

Etapa 1 - Crie um aplicativo Python de amostra

Crie um script python que você deseja automatizar. Por exemplo, digamos que você tenha um script chamado MyScript.Py que você deseja correr a cada hora.

sudo nano/usr/bin/myscript.py  

Adicione o seguinte conteúdo ao script. Você pode usar seu próprio script python conforme os requisitos.

#!/usr/bin/python3 ombro de importação s = soquete.soquete (soquete.Af_inet, soquete.Sock_stream) s.bind (("localhost", 9988)) s.Ouça (1) enquanto True: Conn, addr = s.Acep () Data = Conn.RECV (1024) Conn.Close () my_function_that_handles_data (dados)
123456789101112#!/usr/bin/python3 omockets de importação = soquete.soquete (soquete.Af_inet, soquete.Sock_stream) s.bind (("localhost", 9988)) s.Ouça (1) enquanto True: Conn, addr = s.Acep () Data = Conn.RECV (1024) Conn.Close () my_function_that_handles_data (dados)

Imprensa 'Ctrl + x' e depois pressione 'Y' e acertar 'Digitar' botão para salvar e fechar o arquivo.

Etapa 2 - Crie um arquivo de serviço Systemd

Crie um arquivo de serviço Systemd que especifique o script que você deseja executar e quaisquer opções ou dependências adicionais. O arquivo de serviço deve ser nomeado após o serviço e deve terminar com o .Extensão de serviço. Por exemplo, para criar um serviço chamado MyScript, você pode criar um arquivo chamado 'MyScript.serviço' no '/etc/Systemd/System' diretório.

sudo nano/lib/systemd/system/myscript.serviço  

Adicione o seguinte conteúdo a ele. Altere o nome do arquivo e localização do script python.

[Unidade] Descrição = Serviço Python Custom After = MultiUser.conflitos de destino = [email protected]ço [Serviço] Tipo = ExecStart simples =/usr/bin/python3/usr/bin/myscript.Py StandardInput = tty-force [install] wantedby = multi-user.alvo
123456789101112[Unidade] Descrição = Python Serviceafter personalizado = MultiUsuser.TargetConflicts = [email protected]ço [Serviço] Tipo = SimpleExecStart =/usr/bin/python3/usr/bin/myscript.pystandardInput = tty-force [install] wantedy = multi-user.alvo

Imprensa 'Ctrl + x' e depois pressione 'Y' e acertar 'Digitar' botão para salvar e fechar o arquivo.

Etapa 3 - Ativar e iniciar o serviço

Recarregue o daemon Systemd para pegar o novo arquivo de serviço. Você pode usar o 'SystemCtl' comando para recarregar o daemon e disponibilizar o serviço.

SUDO SystemCTL Daemon-Reload  

Ative o serviço a ser executado na startup. Você pode usar o 'SystemCtl' comando para ativar o serviço, o que fará com que ele inicie automaticamente quando o sistema inicializar.

sudo systemctl Ativar myScript.serviço  

Você pode usar o 'SystemCtl' comando para iniciar o serviço manualmente, ou você pode esperar a próxima inicialização do sistema para executar o script automaticamente.

sudo systemctl start myscript.serviço  

Etapa 4 - Verifique o status do serviço

Por fim, verifique o status de serviço atual executando o seguinte comando.

SUDO SYSTEMCTL STATUS MyScript.serviço  

Conclusão

Em conclusão, o Systemd é uma ferramenta poderosa para automatizar a execução de scripts Python em sistemas Linux. Ao criar um serviço Systemd e permitindo que ele seja executado na inicialização ou em um cronograma, você pode garantir que seus scripts Python sejam executados de forma consistente e confiável.

No geral, o Systemd é uma ferramenta útil para automatizar a execução de scripts Python, e pode ajudá -lo a gerenciar e manter seus scripts com mais eficiência. Espero que este artigo tenha fornecido um guia útil para automatizar scripts Python com Systemd, e eu encorajo você a explorar os muitos outros recursos e capacidades dessa ferramenta poderosa.