Automatizar tarefas no Linux

Automatizar tarefas no Linux
Tempo de leitura: 3 minutos

Automatizar tarefas no Linux: O sistema operacional Linux oferece várias ferramentas para o gerenciamento de tarefas e serviços, permitindo aos usuários e administradores de sistemas programar tarefas para execução em horários específicos e gerenciar serviços de sistema.

Este artigo explora o uso de cron e at para o gerenciamento de tarefas, a configuração do acesso dos usuários a esses serviços e a compreensão das unidades temporizadoras (timers) do systemd.

Gerenciando Tarefas Usando Cron e At

Cron e at são dois utilitários no Linux usados para agendar a execução de tarefas. Cron é usado para tarefas que devem ser executadas regularmente, enquanto at é usado para tarefas que devem ser executadas uma vez em um momento específico.

Configurando o Acesso dos Usuários aos Serviços Cron e At

O acesso dos usuários aos serviços cron e at pode ser controlado através dos arquivos /etc/cron.allow, /etc/cron.deny, /etc/at.allow e /etc/at.deny.

Se o arquivo allow existir, apenas os usuários listados nele terão acesso ao serviço. Se o arquivo deny existir, todos os usuários, exceto aqueles listados nele, terão acesso ao serviço.

Entendendo as Unidades Temporizadoras do Systemd

Systemd é o sistema de inicialização e gerenciamento de serviços usado na maioria das distribuições Linux modernas. As unidades temporizadoras do systemd, ou timers, são semelhantes às tarefas cron, mas oferecem mais funcionalidades.

Lista de Comandos e Arquivos Importantes

Aqui estão exemplos de como editar e utilizar cada arquivo e comando da lista:

  1. /etc/cron.{d,daily,hourly,monthly,weekly}/: Estes diretórios contêm scripts cron que são executados em intervalos regulares.
    • Por exemplo: você pode adicionar um script ao diretório /etc/cron.daily/ para que ele seja executado diariamente.
  2. /etc/at.deny: Este arquivo lista os usuários que estão proibidos de usar o comando at. Você pode adicionar um nome de usuário a este arquivo com o comando echo "nome_do_usuário" | sudo tee -a /etc/at.deny.
  3. /etc/at.allow: Este arquivo lista os usuários que estão autorizados a usar o comando at. Funciona da mesma forma que o arquivo /etc/at.deny.
  4. /etc/crontab: Este arquivo é a tabela de tarefas cron do sistema. Ele pode ser editado para adicionar, modificar ou remover tarefas cron.
  5. /etc/cron.allow: Este arquivo funciona da mesma forma que o arquivo /etc/at.allow, mas para o serviço cron.
  6. /etc/cron.deny: Este arquivo funciona da mesma forma que o arquivo /etc/at.deny, mas para o serviço cron.
  7. /var/spool/cron/: Este diretório contém as tabelas de tarefas cron para cada usuário. Eles podem ser visualizados, mas não devem ser editados diretamente.
  8. crontab: Este comando é usado para criar, editar ou remover tabelas de tarefas cron para um usuário.
    • Por exemplo: crontab -e abre a tabela de tarefas cron do usuário atual para edição.
  9. at: Este comando é usado para agendar uma tarefa para ser executada uma vez em um momento específico.
    • Por exemplo: echo "comando" | at agora + 1 minuto agendará o “comando” para ser executado em um minuto.
  10. atq: Este comando lista as tarefas atualmente agendadas com o comando at.
  11. atrm: Este comando remove uma tarefa agendada com o comando at.
    • Por exemplo: atrm 5 removerá a tarefa número 5.
  12. systemctl: Este comando é usado para controlar o sistema e os serviços do systemd.
    • Por exemplo: systemctl start nome_do_serviço iniciará o serviço especificado.
  13. systemd-run: Este comando pode ser usado para criar e gerenciar unidades temporizadoras systemd.
    • Por exemplo: systemd-run --on-active=1h /caminho/para/o/comando executará o comando especificado em uma hora.

Conclusão

Automatizar tarefas no Linux: O gerenciamento de tarefas e serviços é uma parte fundamental da administração do sistema Linux. Compreender como usar cron, at e systemd para agendar e gerenciar tarefas, bem como configurar o acesso dos usuários a esses serviços, é essencial para manter um sistema Linux eficiente e seguro.

Através do uso eficaz dos comandos e arquivos listados acima, os administradores de sistemas podem exercer um controle preciso sobre as tarefas e serviços em seus sistemas.

Author: Thiago Rossi