login
Fri 02 of Jun, 2023 (06:15 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

Usando o Cron

Criada por: Frederico Madeira, última modificação em: Sat 12 of Jan, 2008 (04:55 UTC)

Indrodução


O Cron é um deamon utilizado para executar tarefas agendadas nos sistema operacional.
A cada minuto ele procura por arquivos crontab no diretório \var\spool\cron e por regras de agendamento no arquivo \etc\crontab.

Essas regras pode ser agendadas para serem executadas em momentos de tempo específicos: minuto, hora, dia do mês, mês, dia da semana, ou ainda, em uma combinação destes

Campos do Crontab


Minutos0-59
Hora0-23
Dia do Mês1-31
Mês1-12
Dia da Semana0-6, 0 = Domingo
UsuárioUsuário do Sistema que executará o agendamento
ScriptTarefa a ser executada


Nos campos numéricos, é possível a utilização dos seguintes wildcards:

'-' para especificar range de valores
Ex: 1-7: Se aplicado no campo de minuto, significaria do minuto 1 ao 7.

',' para especificar valores
Ex: 1,2,4: Se usado no campo de hora, significara nas horas 1, 2 e 4.

'*/n' para especificar intervalo
Ex: */5: Se usado no campo de minuto, significaria que a cada 5 minutos

Exemplo de um agendamento

42 4 1 * * root run-parts /etc/cron.monthly

Minutos42
Hora4
Dia do Mês1
Mês*
Dia da Semana*
Usuárioroot
Scriptrun-parts (\etc\cron.monthly - parâmetro do script run-parts)


Controle de acesso


É possível controlar o uso do servidor Cron, especificando os usuários que podem utilizá-lo. Isso é feito através dos arquivos abaixo:
/etc/cron.allowSe existir, apenas os usuários especificados nele poderão usar o Cron (root sempre poderá)‏
/etc/cron.denySe o anterior não existir, os usuários especificados nele não poderão usar o cron


Alternativamente, em sistemas baseados em RedHat é possível realizar o controle de acesso através do PAM, configurável através do arquivo /etc/pam.d/crond. O cron carrega o ambiente PAM através do módulo pam_env, no entanto, essa configuração pode ser sobrescritas através de configurações no arquivo crontab.

Agendamentos para usuários não-privilegiados


Os usuários não privilegiados do sistema, não possuem acesso ao /etc/crontab, no entanto eles possuem uma forma de agendar suas tarefas.
Através do comando crontab o usuário pode criar agendamentos que serão executados com as permissões atribuídas a ele.

As opções do crontab são:

-u: especifica o usuário que deseja-se consultar. Se for omitido, será considerado o usuário que o está executando.
-e: Edita os agendamentos do usuário
-l: Lista os agendamentos do usuário
-r: deleta os agendamentos do usuário
-i: confirma antes de deletar os agendamentos do usuário

Campos do Crontab para usuários não privilegiados


Minutos0-59
Hora0-23
Dia do Mês1-31
Mês1-12
Dia da Semana0-6, 0 = Domingo
ScriptTarefa a ser executada


Abraços.

Frederico Madeira
www.madeira.eng.br

Comentários

Reply to this comment

obrigado

por Filipe, Mon 26 of Jan, 2009 (20:00 UTC)
Vlw cara, útil sua ajuda!!