Instalando e utilizando o agendador at

O comando at é um agendador de tarefas muito útil, pois ele executa somente uma vez da forma determinada. A grande utilização dele é em ações pontuais como manutenções programadas, alteração de arquivos programadas entre outras.

[ Hits: 5.251 ]

Por: Daniel Padovani em 22/06/2015


Instalando



Estarei tratando da instalação do serviço at no CentOS com o yum, que já se encarregará de resolver qualquer dependência.

1. Instalar o serviço:

# yum at -y

2. Agora vamos colocar o serviço para auto-inicializar:

# chkconfig atd on

3. Iniciando o serviço (o nome do daemon é atd):

# service atd start

É válido lembrar que como é baseado em horários, é muito importante que o seu servidor esteja com o time zone configurado corretamente. É bastante conveniente que você tenha um NTP configurado para manter o seu horário precisamente correto.

Os principais comandos do at são:
  • at
  • atrm
  • atq

Adicionando tarefas - at

Para adicionar tarefas no at existem algumas formas.

Obs.: o padrão de data e hora do at é: HH:mm MM/DD/YYYY

Vamos lá.

Digite no prompt:

at HH:mm MM/DD/YYYY

Exemplo: dia 20 de junho de 2015 às 19 horas e 35 minutos:

# at 19:35 06/20/2015
at>

Após irá ficar dentro do AT aguardando o comando que será executado nesta hora:

at>

Exemplo: vamos dar um ls no diretório root e salvar no tmp:

at> ls -lah /root/ > /tmp/listaroot.txt

Pressione enter e pronto, para sair pressione no teclado Crtl + d.

Finalizado agora é só aguardar o dia e hora.

Você pode adicionar um arquivo contendo diversas instruções.

Crie um arquivo com as instruções:

# vi /root/tarefas.at

Neste arquivo adicione alguns comandos como:

ls -lah /root/ >>/tmp/tarefasAT.txt
uptime /root/ >>/tmp/tarefasAT.txt
ps -aux >>/tmp/tarefasAT.txt

Salve (:x no vi).

E agora vamos adicionar ao at:

# at -f /root/tarefas.at 18:02 06/08/2015

Ele irá executar todos os comandos que estão no arquivo tarefas.at.

Outras formas são:

Executar às 11 horas da manhã de hoje (para de noite altere para 11pm):

# echo ls /var/log/messages | at 11am today

Executar às 11 horas e 15 minutos da manhã de amanhã (para de noite altere para 23:15 - utilize padrão 24hs):

# echo netstat | at 11:15 tomorrow

Vai executar às 16 horas, horário do chá da tarde. ;-)

# echo ps -aux | at teatime

Vai executar após 15 minutos da tarefa incluída no at:

# echo uptime | at +15 minutes

Todos estes acima você poderia ter adicionado o parâmetro "-f" e adicionado um arquivo com os comandos.

Exemplos:

# at -f /root/comandos.at +15 minutes
# at -f /root/comandos.at teatime


Etc.

    Próxima página

Páginas do artigo
   1. Instalando
   2. Visualizar as tarefas e seus detalhes
Outros artigos deste autor

VPN no CentOS 5 - via Yum

Leitura recomendada

Embutindo legenda e fazendo autoração de um vídeo para DVD

XFree86 - Um pouco da história deste poderoso ambiente gráfico para UNIX

Dúvidas iniciais para começar Open Hardware de mouse + GUI

QEMU - Para rodar Windows pré-instalado

Fish - Um shell fácil de usar

  
Comentários
[1] Comentário enviado por removido em 22/06/2015 - 16:28h

Gostei.

Eu não havia me aprofundado no at até por não precisar. Conhecia mais o cron. Ajudou bastante este texto.
Mas essa sintaxe de hora/data inglesa é obrigatória? Ninguém nunca quis modificar isto?

--
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[2] Comentário enviado por dpadovani em 22/06/2015 - 16:43h


Infelizmente e o único formato de data completa possível
O que pode ser utilizado e expressões como

at 11 am may 20

noon
midnight
teatime
tomorrow
noon tomorrow
next week
next monday
fri (dias da semanas em inglês)
NOV (meses da semanas em inglês)
next month
now + 30 minutes
now + 1 hour
now + 2 days
4 PM + 2 days
now + 3 weeks
now + 4 months
now + 5 years

E você pode usar / ou .


[3] Comentário enviado por dpadovani em 22/06/2015 - 16:43h


[1] Comentário enviado por listeiro_037 em 22/06/2015 - 16:28h

Gostei.

Eu não havia me aprofundado no at até por não precisar. Conhecia mais o cron. Ajudou bastante este texto.
Mas essa sintaxe de hora/data inglesa é obrigatória? Ninguém nunca quis modificar isto?

--
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden





Infelizmente e o único formato de data completa possível
O que pode ser utilizado e expressões como

at 11 am may 20

noon
midnight
teatime
tomorrow
noon tomorrow
next week
next monday
fri (dias da semanas em inglês)
NOV (meses da semanas em inglês)
next month
now + 30 minutes
now + 1 hour
now + 2 days
4 PM + 2 days
now + 3 weeks
now + 4 months
now + 5 years

E você pode usar / ou .


[4] Comentário enviado por spylinux em 22/06/2015 - 20:46h

Muito bom, valeu a dica, não conhecia o At, usava cron qdo precisava agendar tarefas.

Abraço
spylinux
Comunidade Manjaro Geek -www.manjaro-geek.org

[5] Comentário enviado por albfneto em 24/06/2015 - 11:26h

gostei, favoritado, vou testar.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].


Contribuir com comentário