Olá a todos que visitam este simples blog, mais uma vez estou a escrever um artigo sobre esse ótimo sistema operacional Linux.
Neste artigo vou escrever como funciona e como agendar tarefas no crontab, para ser mas especifico vou agendar uma tarefa de backup utilizando também a ferramenta Rsync.
Bom vamos la, no shell entre como root, ou utilize o sudo para eetuarmos a instalação dos pacotes necessários
# apt-get update
# apt-get install rsync
Agora vamos abrir o crontab, no terminal digite crontab -e
# crontab -e
Por padrão o editor utilizado é o nano, pelo menos no Debian, caso queira mudar o editor padrão de abertura digite o seguinte comando no terminal.
# aptitude install vim-nox
# update-alternatives --config editor
Vamos ver agora como funciona o crontab:
Este comando vai abrir seu arquivo de crontab ou criar um arquivo caso ele ainda não exista. No editor é só inserir uma linha com a rotina que você quer agendar, seguindo a estrutura abaixo abaixo:
O crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
O preenchimento de cada campo é feito da seguinte maneira:
- Minutos: informe números de 0 a 59;
- Horas: informe números de 0 a 23;
- Dias do mês: informe números de 0 a 31;
- Mês: informe números de 1 a 12;
- Dias da semana: informe números de 0 a 7;
Obs: 0 e 7 é refente ao domingo, segunda 1, terça 2, quarta 3, quinta 4, sexta 5, sabado 6.
- Usuário: é o usuário que vai executar o comando (não é necessário especificá-lo se o arquivo do próprio usuário for usado);
- Comando: a tarefa que deve ser executada.
O * representa "todos", por exemplo:
0 4 * * 0 rm /home/cleio/documentos/*
O exemplo acima remove todos os arquivos da pasta /home/cleio/dcumentos todo o domingo às 4 horas da madruga. Para a execução de comandos completos você pode usar shellscript.
0 4 * * 0 sh /home/exemplo.hs
O exemplo acima executa o "exemplo.sh" também às 4 da madrugada aos domingos.
Agora vamos agendar uma tarefa de Backup todos os dias às 20:00 horas.
# crontab -e
# m h dom mon dow command
00 20 * * 1 rsync -ravzp /dados /BACKUP/2a
00 20 * * 2 rsync -ravzp /dados /BACKUP/3a
00 20 * * 3 rsync -ravzp /dados /BACKUP/4a
00 20 * * 4 rsync -ravzp /dados /BACKUP/5a
00 20 * * 5 rsync -ravzp /dados /BACKUP/6a
00 20 * * 6 rsync -ravzp /dados /BACKUP/sabado
00 20 * * 0 rsync -ravzp /dados /BACKUP/domingo
O comando irá efetuar uma sincronização/cópia do diretório /dados para dentro do diretório /BACKUP na sua pasta que representa o dia da semana (2a, 3a, 4a..) às 20:00 utilizando o comando rsync -ravzp
2a= Segunda
3a= Terça
4a= Quarta
E assim por diante.
É isso ae!
Nenhum comentário:
Postar um comentário