Como agendar tarefas usando o comando no linux

Como agendar tarefas usando o comando no linux

Aprendendo como agendar e gerenciar tarefas usando o programa AT

Requisitos

  • Permissões de raiz para iniciar o daemon ATD
  • Tendo o programa AT instalado

Dificuldade

FÁCIL

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios de raiz também
    diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Introdução

Durante a administração de um sistema, poder agendar uma tarefa para uma execução posterior, é uma habilidade crucial: executar um backup de um banco de dados, por exemplo, ou talvez para executar um script de manutenção. Menos conhecido do que Cron ou Anacron, o no Programa Vamos fazer isso de uma maneira muito fácil: neste tutorial, aprenderemos a usá -lo e como é diferente dos programas mencionados acima.

O que está em?

Ao contrário de Cron, que vamos executar uma tarefa regularmente, no nos dá a capacidade de executar um comando ou um script em uma data e hora especificadas, ou após um determinado intervalo de tempo. Minutos, horas, dias ou semanas podem ser usados ​​como unidades. É até possível usar certas "palavras -chave" como meia-noite ou hora do chá (que corresponde às 16h).



Instalando em

Se não estiver instalado por padrão, no deve estar disponível em repositórios de quase todas as distribuições.

Para instalá -lo no Fedora, basta executar:

# dnf instalar em

Em Rhel ou Centos Yum ainda é o gerenciador de pacotes padrão:

# yum instalar em

No Debian ou Ubuntu:

# instalação apt-get

No Archlinux:

# Pacman -s em

Começando o daemon

Uma vez que ele está instalado, devemos iniciar o ATD Daemon e, eventualmente. Vou aqui assumir o uso do Systemd como o sistema init. O comando deve ser executado com privilégios root:

# SystemCtl Ativar -agora ATD.serviço

Agendar um emprego do prompt de at

Com tudo no lugar, agora podemos usar no. Vamos supor que queremos executar um comando de 1 minuto a partir de agora. A sintaxe correta seria:

$ agora + 1 minuto

Para executar o mesmo comando às 16:00, daqui a três dias, em vez disso, executamos:

$ às 16:00 + 3 dias

Uma vez executado a linha acima, o no O prompt aparecerá, aguardando que o comando seja executado após o intervalo de tempo especificado:



$ agora + 1 minutos em> echo "hello world"> teste.txt em> Jó 4 em Ter 19 de dezembro 11:29:00 2017 

Para sair do no Prompt, devemos pressionar o Ctrl+d Combinação de chaves. Neste ponto, apresentaremos um resumo da tarefa programada, que nos mostrará o ID de trabalho (4 neste caso) e a data em que será executada.

Apenas como exemplo, entramos em um comando trivial para mostrar como no funciona. A partir de agora, a string "Hello World" será gravada no teste de arquivo.txt, que será criado automaticamente se ainda não existir.

Agendar a execução de um script

Em vez de especificar o comando a ser executado, interativamente, a partir do prompt, podemos instruir no para executar um script ou programa existente simplesmente passando -o como um argumento para o -f bandeira ou, alternativamente, usando o < operador de redirecionamento. Portanto, assumindo que queremos executar um script que esteja presente em nosso diretório de trabalho atual, nós executaríamos:

# Usando o sinalizador -f dedicado $ no agora + 1 minuto -f script.sh

# Usando o < redirection operator $ at now + 1 minute < script.sh

Gerenciar trabalhos programados

Para fazer fila, examinar ou excluir trabalhos agendados com AT, podemos usar comandos dedicados como ATRM e atq ou correr no com bandeiras específicas, este último é apenas aliases para o primeiro. Por exemplo, digamos que queremos obter uma lista de todos os trabalhos pendentes agendados pelo nosso usuário:

 $ ATQ 4 Ter 19 de dezembro 11:29:00 2017 Um Egdoc 

O comando acima, se lançado como root, exibirá a tarefa agendada por todos os usuários no sistema.

Para excluir um trabalho na fila, poderíamos usar ATRM ou correr no com as bandeiras equivalentes: -r ou -d. O trabalho a ser excluído deve ser referenciado por seu número. No caso acima, nós funcionaríamos: portanto:

 $ ATRM 4

Conclusões

Embora mais simples que Cron ou Anacron, o no o programa pode ser muito útil em determinadas situações: executar um programa com um atraso específico ou quando você sabe exatamente o tempo em que a tarefa deve ser executada. Faça referência ao manual para obter mais informações e adicione esta pequena ferramenta à sua caixa de ferramentas, certamente será útil.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Comandos básicos do Linux
  • Tutorial do SQLite Linux para iniciantes
  • Ubuntu 22.04 Backup e restauração do sistema
  • Como imprimir a árvore do diretório usando o Linux
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes
  • Linux pode obter vírus? Explorando a vulnerabilidade do Linux…