Saltar para o conteúdo

Guia do Linux/Iniciante+Intermediário/Manutenção do sistema/at

Origem: Wikilivros, livros abertos por um mundo aberto.

O at agenda tarefas de forma semelhante ao cron com uma interface que permite a utilização de linguagem natural nos agendamentos. Sua principal aplicação é no uso de tarefas que sejam disparadas somente uma vez. Uma caracterí­stica deste programa é a execução de aplicativos que tenham passado de seu horário de execução, muito útil se o computador é desligado com frequência ou quando ocorre uma interrupção no fornecimento de energia.

Para utilizar o at, instale-o com o comando: apt-get install at. O próximo passo é criar os arquivos /etc/at.allow e at.deny. Estes arquivos são organizados no formato de um usuário por linha. Durante o agendamento, é verificado primeiro o arquivo at.allow (lista de quem pode executar comandos) e depois o at.deny (lista de quem NÃO pode executar comandos). Caso eles não existam, o agendamento de comandos é permitido a todos os usuários.

Abaixo seguem exemplos do agendamento através do comando at:

echo ls | at 10am today
Executa as 10 da manha de hoje
echo ls | at 10
05 today
Executa as 10:05 da manha de hoje
echo ls | at 10
05pm today
Executa as 10:05 da noite de hoje
echo ls | at 22
05 today
Executa as 22:05 da noite de hoje
echo ls | at 14
50 tomorrow
Executa o comando amanhã as 14:50 da tarde
echo ls | at midnight
Executa o comando a meia noite de hoje
echo ls | at midnight tomorrow
Executa o comando a meia noite de amanhã
echo ls | at noon
Executa o comando de tarde (meio dia).
at -f comandos.txt teatime
Executa os comandos especificados no arquivo "comandos.txt" no horário do café da tarde (as 16:00 horas).
at -f comandos.txt now +3 minutes
Executa os comandos especificados no arquivo "comandos.txt" daqui a 3 minutos. Também pode ser especificado "hours" ou "days".
at -f comandos.txt tomorrow 3 hours
Executa os comandos especificados no arquivo "comandos.txt" daqui a 3 horas no dia de amanhã. (se agora são 10:00, ela será executada amanhã as 13:00 da tarde).

Todas as tarefas agendadas são armazenadas em arquivos dentro do diretório /var/spool/cron/atjobs. A sintaxe de comandos para gerenciar as tarefas é semelhante aos utilitários do lpd: Para ver as tarefas, digite atq. Para remover uma tarefa, use o comando atrm seguido do número da tarefa obtida pelo atq.