CronTab - Agendamento de tarefas

Preview:

DESCRIPTION

Manual de agendamento de tarefas utilizando o comando Crontab - Linux

Citation preview

Agendamento de tarefas

crontab

1. ApresentaçãoCRON ou CRONTAB, é um agendador de tarefas, utilizado para executar algo automaticamente em determinados momento/tempo.

2. ConfigurandoO crontab tem seu funcionamento bem simples, mas requer atenção para a sua projeção.Para editar ele, basta executar o comando:# crontab -e

Irá abrir uma janela estilo o editor de texto "vi".Seus comandos são iguais ao "vi", então, sem problemas ...INSERT - para editarESC - para finalizr edição:x! - salvar e sair:q! - sair sem salvar

* * * * * comando| | | | | |_ _ _ _ Comando a ser executado| | | | |_ _ _ _ _ Semana (0-7 - domingo à domingo)| | | |_ _ _ _ _ _ Mês (01-12)| | |_ _ _ _ _ _ _ Dia (01-31)| |_ _ _ _ _ _ _ _ Hora (00-23)|_ _ _ _ _ _ _ _ _ Minuto (00-59)

2.1. MinutoVaria de 00 à 59

2.2. HoraVaria de (00 à 23)

2.3. DiaVaria de 01 à 31Lembrando sempre que ao executar uma tarefa nos dias acima de 28, essa tarefa não será executa no mês de fevereiro.Usando o dia 31, você irá eliminar todos os meses que terminam em 30 ou menos.

2.4. MêsVaria de 01 à 12Podendo também ser usando nomes em inglês (digitados em MAIÚSCULOS ou minúsculos).Use apenas as 3 primeiras letras do nome.

2.5. SemanaVaria de 0 à 6 ou 1 à 7Sendo, assim: 0 à 6 de domingo à sábado ou 1 à 7 de segunda à domingo.Podendo também ser usando nomes em inglês (digitados em MAIÚSCULOS ou minúsculos).Use apenas as 3 primeiras letras do nome.

2.6. ComandoO comando é você que define, é importante lembrar que o "%" (por cento) é usado para quebra de linha, então, caos você queira usá-lo, digite: "\%", usando a "\" barra invertida antes.

3. Caracteres especiaisVocê pode também trabalhar com "coringas", veja abaixo alguns exemplos.

3.1. Usando "*" Executar uma tarefa ("echo teste") sendo que por 10 minutos, usando o "*", seja: --> 10 * * * * echo teste

3.2. Usando "/" Executar uma tarefa de 5 em 5 minutos, usando o "/", seja:

--> */5 * * * * echo teste

3.3. Usando "/" Executar uma tarefa de 5 em 5 minutos durante os 30 primeiros minutos, usando o "/", seja: --> 0-30/5 * * * * echo teste

3.4. Usando "-"Executar uma tarefa no período de 0 à 5 minutos, usando o "-", seja: --> 0-5 * * * * echo teste

3.5. Usando ","Executar uma tarefa no minuto 1, 3 e 5, usando a "," (vírgula), seja: --> 1,3,5 * * * * echo teste

4. ExemploExecutando uma tarefa dia 15/03, quando for segunda-feira, no horário das 23h e 54min.

54 23 15 03 01 echo "Exemplo de tarefa"| | | | | | _ _ _ _ Comando a ser executado| | | | | _ _ _ _ _ Semana| | | | _ _ _ _ _ _ _ Mês| | |_ _ _ _ _ _ _ _ _ Dia| | _ _ _ _ _ _ _ _ _ _ Hora|_ _ _ _ _ _ _ _ _ _ _ _ Minuto

*/2 * * * 1-5 ls -lah executa de 2 em 2 minutos de segunda a sexta-feira.

10,30,45 19 1,15 * * pgdump -U postgres -h 192.168.1.1 dbstruct > /temp/dbstruct executa backup do banco de dados PostgreSQL todos os dias 1 e 15 dos mes as 19:00, 19:30, 19:45h.

Comandos; crontab -e ( edita o arquivo crontab ) crontab -l ( lista o arquivo crontab ) crontab -d ( remove o arquivo contrab

Exemplificando;

[root@curso-linux]# crontab -e

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/binMAILTO=root* 1 * * * /usr/local/bin/arquivo-shell.sh35 1 * * * tar -zcf /temp/bkp_$(date +%Y-%m-%d_%H-%M-%S).tar.gz /var/log50 11 * * * /sbin/shutdown -r 0

Para finalizar:Esc :wq

Obs.: no ultimo * pode ser 1-5 executa de segunda a sexta-feira.

Recommended