You are on page 1of 14

Automatizar tarefas,

administrao com
agendamento de trabalhos

www.4linux.com.br

-2

Sumrio
Captulo 1
Automatizar tarefas, administrao com agendamento de trabalhos .......................................3
1.1. Objetivos......................................................................................................................... 3
1.2. Mos a obra.....................................................................................................................4
Captulo 2
Gerenciando............................................................................................................................... 9
2.1. Objetivos......................................................................................................................... 9
2.1. Troubleshooting............................................................................................................ 10

ndice de tabelas
ndice de Figuras

www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 3

Captulo 1
Automatizar tarefas, administrao
com agendamento de trabalhos

1.1. Objetivos

Gerenciar cron e jobs;

Confgurar o acesso do usurio ao cron e em servios.

www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 4


1.2. Mos a obra
O administrador de sistema em ambientes GNU/Linux gerencia muitas tarefas
no dia a dia, como por exemplo a administrao de usurios, segurana aplicada no
servidor, tarefas de backup e entre outras mais. A automatizao dessas tarefas
feita atravs de scripts, que so agendados periodicamente conforme a necessidade
da empresa em questo.
Como posso agendar a execuo de meus scripts?

O agendamento no sistema pode ser feito atravs dos comandos at e crontab, a


diferena entre eles esta no sistema de agendamento.
at Usado para agendamento nico;
cron Agendamentos peridicos.

Opes de uso do crontab:


-e Permite editar tarefas agendadas do usurio logado;

# crontab -e

Ao usar o comando uma linha de cabealho exibido informando a funo de


cada coluna:
m Defne o minuto do agendamento onde possvel usar de 0 a 59;
h Defne a hora do agendamento onde possvel usar de 0 a 59;
dom (day of month) Defne o dia do ms do agendamento onde possvel
www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 5


usar de 1 a 31;
mon (month) Defne o ms do agendamento onde possvel usar de 1 a 12;
dow (day of week) Defne o dia da semana do agendamento onde possvel
usar de 0 a 7;
comand Caminho completo do binario ou script.

Exemplo:
Executar um script personalizado no primeiro dia de cada ms s 23:30h
30 23 1 * * /root/scripts/backup.sh

Intervalos
Na confgurao de minutos, horas, dias,meses e dias da semana voce pode
usar os seguintes intervalos:
, (Vrgula) Lista de valores : 1,4,5;
- (trao) Intervalo de valores: 1-5;
* (asterisco) Tudo;
/ (barra) Pulos entre valores: */5

-l Permite listar as tarefas agendadas do usurio logado;


# crontab -l

www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 6


-lu <usurio> Permite listar as tarefas agendadas um determinado usurio;

# crontab -lu aluno

-r Apaga o arquivo do usurio de um determinado usurio;

# crontab -r

Agendamento geral
Atravs do aquivo /etc/crontab possvel confgurar o agendamento geral do
crontab usando diretrios para escutar scripts de forma peridica.

# vim /etc/crontab

www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 7


Detalhes do arquivo /etc/crontab:
Shell Indica qual o tipo de Shell ser utilizado para interpretar os scripts;
Path Varivel que armazena os diretrios onde

fcam os arquivos;

executveis do sistema.
Run-parts Comando usado para executar binrios ou scripts de um
diretrio

Diretorios:
/etc/cron.hourly : Executa de hora em hora;
/etc/cron.daily : Executa todo dia;
/etc/cron.weekly : Executa uma vez por semana;
/etc/cron.monthly : Executa uma vez por ms.

Restringir acesso
Qualquer usurio pode criar, listar e excluir agendamentos no sistema, mas
possvel liberar ou bloquear esse acesso atravs dos arquivos cron.allow e cron.deny
no diretrio /etc.

Bloquear usurio

# vim /etc/cron.deny

Digite o nome dos usurios que no podero realizar agendamentos

Ex.: aluno
www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 8


Abra um outro terminal e se logue com o usurio bloqueado, e use o comando
crontab -e para criar um novo agendamento.

$ crontab -e

www.4linux.com.br

Captulo 1 Automatizar tarefas, administrao com agendamento de trabalhos - 9

Captulo 2
Gerenciando

2.1. Objetivos

Trabalhar com os arquivos e comandos: /var/spool/cron/*, crontab, at, atq,atrm.

www.4linux.com.br

Captulo 2 Gerenciando - 10
2.1. Troubleshooting

Como gerenciar o agendamento de meus usurios?


O administrador alm de liberar ou bloquear os agendamentos dos usurios,
ele pode tambm excluir quando necessrio agendamentos nicos e peridicos.
Os agendamentos do cron feitos por usurio comuns, fcam armazenados no
diretrio /var/spool/cron/crontabs/<nome_do_usurio>.
Exemplo:
# ls -l /var/spool/cron/crontabs

Em nosso exemplo o usurio tux tem agendamentos no cron.


Para visualizar o agendamento do usurio use o comando cat ou crontab -lu

# cat /var/spool/cron/crontabs/tux

ou

# crontab -lu tux

www.4linux.com.br

Captulo 2 Gerenciando - 11
Excluir agendamento do usurio
# crontab -ru tux

Criar agendamento nico com at


O comando at pode ser usado por qualquer usurio para criar agendamentos
nicos. Para usar o comando digite at hora:minuto (Enter), em seguida digite o
comando a ser executado (Enter) e CTRL + D para gravar o agendamento. Vamos a
prtica:

$ at 21:05

Listar agendamentos com o comando atq

$ atq

www.4linux.com.br

Captulo 2 Gerenciando - 12
Exibe contedo do agendamento com o comando tail

$ tail -5 /var/spool/cron/atjobs/*

Remover agendamentos
Comando atrm n_do_job
$ atrm 3

O comando at tambm aceita outras opes para agendamentos. Veja a


descrio:
at now Agora;
at tomorrow Amanh;
at today Hoje;
at now + 10min Dentro de 10 minutos;
at noon tomorrow s 12:00 do prximo dia.

www.4linux.com.br

Captulo 2 Gerenciando - 13
Agendamento com mensagem de email
Atravs da opo -m do comando at possvel receber um email quando a
tarefa executada. Vamos a prtica:

$ at -m 21:55

Verifque um novo email no diretrio /var/mail/<nome_do_usuario>

$ cat /var/mail/tux

www.4linux.com.br

Captulo 2 Gerenciando - 14
Restringir acesso
Qualquer usurio pode criar, listar e excluir agendamentos no sistema, mas
possvel liberar ou bloquear esse acesso atravs dos arquivos at.allow e at.deny no
diretrio /etc.

Bloquear usurio

# vim /etc/at.deny

Digite o nome dos usurios que no podero realizar agendamentos

Ex.: tux

Abra um outro terminal e se logue com o usurio bloqueado, e use o comando


at para criar um novo agendamento.

$ at 22:00

www.4linux.com.br

You might also like