Como agendar uma tarefa no Linux?

Como agendar uma tarefa no Linux?
Sempre que usando um sistema operacional baseado em UNIX, certas tarefas devem ser executadas repetidamente. Executá-los manualmente todas as vezes é demorado e ineficiente em geral. Para resolver esse problema, o Unix vem com seus programadores de tarefas internos. Esses programadores de tarefas agem como um despertador inteligente. Quando o alarme disparar, o sistema operacional executará a tarefa predefinida.

No caso do Linux, ele vem com duas ferramentas básicas, mas poderosas: daemon CRON (Agendador de tarefas padrão) e em (mais adequado para agendamento de tarefas único).

Neste guia, confira como agendar uma tarefa no Linux.

Agendar tarefas no Linux

Cron
O daemon Cron é responsável por administrar muitos empregos em momentos específicos. Essas tarefas geralmente são executadas em segundo plano em horários programados. Oferece grande flexibilidade, independentemente da tarefa, independentemente do intervalo (hora, semana, mês, ano ou qualquer outra coisa).

Cron acompanha suas ações usando o arquivo Crontab. O arquivo Crontab é um script que contém todas as informações necessárias para executar todos os trabalhos de Cron.

Vamos dar uma rápida olhada em parte do uso básico de Cron. No caso de qualquer um dos seguintes comandos, será configurado para o usuário raiz se for executado com privilégio sudo. Para a demonstração, peguei um exemplo de arquivo crontab daqui.

Para listar todos os trabalhos cron programados para o usuário atual, execute o seguinte comando. Ele imprimirá todo o conteúdo do arquivo crontab.

$ CRONTAB -L


Quero a lista de empregos Cron para um usuário diferente? Execute este comando em vez disso.

$ sudo crontab -u -l


Para editar o script Crontab, execute o comando. Para editar o arquivo Crontab for Root, execute o seguinte comando com privilégio sudo.

$ CRONTAB -E


Cada linha no script crontab define uma tarefa. Aqui está um rápido colapso das entradas de Crontab.

$

Aqui está uma lista de todos os valores possíveis para todos esses campos. Se usado um asterisco (*) em vez de um valor numérico, todo valor possível do campo será usado.

  • minuto: 0 a 59
  • Horário: 0 a 23
  • Dia do mês: 1 a 31
  • mês: 1 a 12
  • Dia da semana: 0 (domingo) a 6 (sábado)

Para um guia detalhado sobre como usar o Crontab para automatizar tarefas, confira como configurar trabalhos de cron no Linux. Aqui está outro exemplo rápido de um trabalho cron executando a cada minuto.

no
Embora o Cron seja a principal maneira de agendar de tarefas, oferece a capacidade de executar um comando/script em um horário específico ou em um intervalo fixo, observe que o trabalho será executado no trabalho de destino uma vez que Cron reformularia o trabalho no intervalo no intervalo. A ferramenta AT é menos popular em comparação com Cron, mas é relativamente mais fácil de usar. Você pode usar certas palavras -chave como meia -noite ou chá (4 p.M.).

Esta ferramenta não vem pré-instalada na maioria dos distritos Linux. Para instalar em, execute o comando apropriado de acordo com sua distro.

Para Debian/Ubuntu e Derivativos.

$ Sudo apt install -y em


Para centros/rhel e derivados.

$ yum instalar em

Para arch linux e derivativos.

$ sudo pacman -s em

Para fedora e derivados.

$ sudo dnf instalar em

Após a conclusão da instalação, ative o daemon em.

$ sudo systemctl atable -agora ATD.serviço


O caminho em obras é um pouco diferente. Sempre que liga, você deve definir o intervalo de executar a tarefa desejada. Por exemplo, para executar um certo comando após uma hora, use o seguinte comando.

$ agora + 1 hora


Para executar a tarefa desejada às 6 p.M., daqui a seis dias, execute o seguinte comando em vez disso.

$ às 18:00 + 6 dias


Quando você executa o comando, solicitará que o (s) comando (s) seja executado. Para sair do prompt de AT, pressione “Ctrl + D.”Apresentará um resumo das tarefas agendadas e a hora em que serão executadas.

Isso é apenas uso básico. Uma maneira mais consistente de usar no AT pode estar executando um script de bash contendo todas as tarefas que precisam ser executadas. Interessado em aprender mais sobre scripts de basquete? Verificar

$ às 18:00 + 6 dias -ff


Execute o comando para listar todos os trabalhos pendentes.

$ atq


Observe que a saída listará todos os trabalhos com um número de referência específico na coluna esquerda. Caso você queira excluir um trabalho na fila, use o seguinte comando.

$ ATRM

Pensamentos finais

Agendar uma tarefa, no caso do Linux, é um trabalho muito simples. Aprender pela primeira vez definitivamente requer um pouco de esforço. No entanto, uma vez aprendido, pode ser incrivelmente útil. Uma vez configurado, as tarefas agendadas continuarão correndo.

Computação feliz!