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.
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:
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:
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.
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
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.
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