Home | Artigos | Dicas | Download | Notícias | Sobre Nós | Contatos
Untitled Document
Artigos - Portal João Siqueira - Viva a Liberdade.

Caros colegas, gostaria de lembra que todos os artigos que aqui estão publicados tem seus direitos reservados por seus autores e suas fontes. A cópia ou publicação destes artigos podem ser publicadas desde que sejam preservados os autores e fontes.

Agradeço pela atenção.
João Siqueira – Administrador.

Artigos - Portal João Siqueira - Viva a Liberdade.
Agendando tarefas em Linux/Unix usando o cron
Por: Ricardo Souza Silveira
[ Hits: 402 ]

Cron - Resumo e introdução
Resumo: Este artigo trás informações sobre o comando cron. Alguns comandos e parâmetros que poderão ser utilizados também estarão citados neste artigo, assim como alguns exemplos de como poderá ser utilizado.

Abstract: This article back information on the command cron. Some command and parameters that could be used also will be cited in this article as well as some examples of how it may be used.

Introdução
O cron é uma ferramenta de sistemas Linux e Unix que permite a execução de comandos ou programas, agendados para um determinado dia/mês/ano/hora.

Para demonstrar melhor a utilidade de comando cron no Linux, suponhamos que por questões de segurança você precisa fazer um backup de alguns arquivos de uma aplicação, que é acessada por clientes diariamente. Neste caso você poderá utilizar o cron para fazer esse backup automaticamente em horários programados.

Como utilizar o cron
O agendamento das tarefas é feita através do arquivo de configuração localizado no diretório /etc/crontab ou em arquivos de usuários localizados em /var/spool/cron/crontabs/[nome do usuário].

Para adicionar uma tarefa ao cron é preciso que você abra com um editor de texto qualquer (se estiver usando interface gráfica Gnome, e se tiver instalado, poderá utilizar o gedit, ou se e estiver em moda caracter o vim ,vim, nano, pipe como preferir) o arquivo /etc/crontab e agendar, definindo o mês/dia/hora em que o comando devera ser executado. Para que a ferramenta cron funcione não é necessário reiniciá-la.

Para que o agendamento funcione é necessário que siga um padrão, um formato ao qual deve se respeitar. Veja o exemplo abaixo:


Onde corresponde:

Outras considerações
Na opção que corresponde ao dia da semana pode ser utilizado as 3 primeiras letras em inglês (SUN,MON,TUE,WED,THU,FRI,SAT).

Você pode executar tarefas de hora em hora, diariamente, semanalmente e mensalmente, simplesmente colocando seus arquivos dento dos diretório respectivos /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly e /cron.monthly.

Veja um exemplo: dentro de "/etc/cron.daily/" tenho um arquivo backup, onde tenho o script de backup do meu sistema, ou seja, no meu caso ele ira fazer backup todos os dias as 12:20. Obs.: é necessário que esse arquivo tenha permissão para execução, e para isso basta executar o comando: "chmod +x /etc/cron.daily/backup".

Os campos que não for se importar, pode ser colocado um "*", como se tivesse selecionado "todas as possibilidades", sendo que podem ser colocado "-" (hífen) para determinar os intervalos de execução. A "," (vírgula) define uma lista valores, lista de opções com os números (1,3,5).

O arquivo que é gerado pelo cron em no diretório do usuário '/var/spool/cron/crontabs/[usuário]' pelo crontab tem o mesmo formato do /etc/crontab, exceto por não possuir o campo 'usuário (UID)', pois o nome do arquivo já identifica o usuário no sistema.

Caso você queira editar um arquivo de usuário feito pelo cron, basta utilizar o comando "crontab -e", ele irá abrir o que foi agendado para aquele usuário.

Cuidado, caso você edite o "crontab", certifique-se para que haja uma linha em branco no final do arquivo, caso esta linha não exista o ultimo comando não se executará. E tenha multa atenção ao colocar qualquer texto após o programa que será executado será considerado comentário e não será interpretado pelo cron.

Alguns exemplos de comandos
Para rodar todo dia de hora em hora:

00 * * * * script

Para rodar de dez em dez minutos todos os dias:

00-59/10 * * * * script

Note a divisão por 5 do intervalo 00-59.
Para rodar uma seqüência de horas:

20 10,12,16,18,22 * * * script

Para rodar numa seqüência de dias do mês às 14:00:

00 14 03-15 * * script

Para rodar ao meio-dia e a meia-noite de terça a sábado:

00 00, 12 * * 2-6 script

Para enviar um e-mail as 20:20 no dia 23/03 para Pedro dizendo "Viva o Linux porque nós amamos a liberdade!":

20 20 23 3 * root echo "Viva o Linux porque nós amamos a liberdade!"|mail Pedro

Conclusão
Com a utilização da ferramenta cron, concluí que no agendamento de tarefas em sistemas Linux/Unix pode ser feito perfeitamente com o comando cron, sendo um ferramenta fácil de implementar. É ótima para fazer backup automáticos, agendamento de tarefas diárias economizando tempo e trabalho repetitivos.

Referências
1. Agendando tarefas e rotinas com o Cron:
http://www.guiadohardware.net/dicas/agendando-tarefas-rotinas-cron.html
Acessado pela última vez no dia 05/03/2008 às 14:00 horas

2. Usando cron e crontab para agendar tarefas
http://www.infowester.com/linuxcron.php
Acessado pela última vez no dia 05/03/2008 às 14:30 horas

3. Utilizando o crontab
http://www.devin.com.br/eitch/crontab/
Acessado pela última vez no dia 05/03/2008 às 15:30 horas

4. Crontab
http://pt.wikipedia.org/wiki/Crontab
Acessado pela última vez no dia 05/03/2008 às 15:45 horas

Fonte: VivaoLinux

OPS: Caso queiram entrar em contato para tirar alguma duvida, ou enviar algum(a) artigo, dica, sugestão, critica, por favor, acesse a página de contato e envie suas mensagens usando o formulário on-line. Obrigado.


Canais - Open Source
Downloads
Links
Notícias
Eventos
Publicidade!
Enquete - Portal João Siqueira
Dos sites abaixo qual você mais acessa?
Under-Linux.org
Viva o Linux
LinuxSecurity
Dicas-L
NoticiasLinux
SoftwareLivre.org
BR-Linux
Outros


Ver resultados
Usuários On-line !
5 Visitantes Online
Powered by: Open Source - Viva a Liberdade.
Portal João Siqueira desenvolvido usando software de Licensa GNU/GPL.