Automatando scripts Python com Systemd um guia passo a passo
- 2534
- 329
- Leroy Lebsack
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.alvo123456789101112 | [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.