3
Agendamento de tarefas crontab 1. Apresentação CRON ou CRONTAB, é um agendador de tarefas, utilizado para executar algo automaticamente em determinados momento/tempo. 2. Configurando O 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 editar ESC - 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. Minuto Varia de 00 à 59 2.2. Hora Varia de (00 à 23) 2.3. Dia Varia de 01 à 31 Lembrando 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ês Varia de 01 à 12 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.5. Semana Varia de 0 à 6 ou 1 à 7 Sendo, 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. Comando O 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 especiais Você 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:

CronTab - Agendamento de tarefas

Embed Size (px)

DESCRIPTION

Manual de agendamento de tarefas utilizando o comando Crontab - Linux

Citation preview

Page 1: CronTab - Agendamento de tarefas

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:

Page 2: CronTab - Agendamento de tarefas

--> */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

Page 3: CronTab - Agendamento de tarefas

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