Comandos

6 de abril de 2016

Comando AT

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

Comando AT

O comando AT é uma excelente maneira de agendar tarefas para que sejam executadas em determinado momento no sistema. Esta opção deve ser utilizada para tarefas que precisam ser executadas uma única vez, caso precise agendar uma tarefa de forma periódica poderá utilizar o “cron” e “crontab” para agendá-las.

Sintaxe

# at opções time




No parâmetro time são aceitos horas nos seguintes formatos HHMM ou HH:MM, onde o H corresponde às horas e M corresponde aos minutos. Pode-se, também, especificar a data juntamente com a hora no formato MMDDAA, MM/DD/AA ou MM.DD.AA. Neste caso o M corresponde ao mês, o D corresponde ao dia e o A corresponde ao ano. Outras opções são aceitas como:

midnight: corresponde à meia noite.

noon: corresponde ao meio dia.

teatime: corresponde a hora do chá, ou seja, 16h.

now: executa o comando neste momento.

Contador de tempo: pode-se utilizar a opção de hora mais contador de tempo, por exemplo, 8:00 + 3 days, neste exemplo a ação ocorrerá às 8 horas da manhã daqui a 3 dias. Outros contadores estão disponíveis como minutes (minutos), hours (horas) e weeks (semanas).

Agendando tarefas

Para utilizar este comando basta digitar “at” seguido da opção de data, logo será aberto um editor de linhas para que o usuário informe os comandos, pode-se, inclusive, informar vários, um por linha, bastando digitar ENTER depois cada um. Para finalizar o processo deve-se pressionar CTRL + D.

Vamos criar uma tarefa que vai listar os arquivos do diretório “/” e armazenar a saída em um arquivo dentro do /root.

Vamos primeiro listar o conteúdo do diretório /root

# ls

ls root

Agora vamos agendar a tarefa, para isso veremos a hora do sistema e utilizaremos um agendamento posterior.

IMPORTANTE: para ver a hora do sistema utilizaremos o alias criado no artigo comando ALIAS, que é na verdade o mesmo que o comando “date”. Caso queira saber como foi criado este alias leia o artigo citado, caso queira continuar o artigo digite “date” no lugar de “hora”.

agenda

Inicialmente verifiquei a hora e agendei a tarefa para alguns minutos depois.

Neste exemplo estou listando o conteúdo do diretório / (através do comando ls /) e gravando o resultado deste comando no arquivo /root/teste. Isso significa que às 17:43 este comando será executado.

Verificando tarefas agendadas

Para verificar as tarefas agendadas podemos utilizar o comando “atq”. Vemos aqui a data de agendamento e usuário que a criou.

ver-agendamento

Esta opção pode ser usada também com o parâmetro “-l” usado junto com o comando at.

Comando AT

Removendo agendamento

É possível também excluir agendamentos existentes, basta para isso utilizar o comando “atqrm”.

atrm

Este comando exclui todos os agendamentos, mas é possível que se deseje apenas excluir agendamentos específicos, neste caso precisamos saber o número do agendamento.

Vamos visualizar novamente os agendamentos.

listar

Perceba que temos dois agendamentos criados pelo usuário root, um de número 16 e outro de número 17. Vamos excluir o agendamento de número 16.

Para isso vamos usar o parâmetro –r seguido do número do agendamento.

removendo

Agora podemos listar novamente os agendamentos e perceber que o número especificado no parâmetro anterior já não existe mais.

listar2

Conclusão

Embora muito útil o comando “at” possui a limitação de ser utilizado apenas uma vez, ou seja, não se realiza um agendamento periódico com ele. Caso precise realizar agendamentos que devem se repetir algumas vezes, devem-se utilizar outros meios como o cron.

Espero que o conteúdo tenha sido útil, em caso de dúvidas pergunte nos comentários.






Sobre o Autor

Foto de perfil de Leonardo Souza
Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.