Fcron – uma outra alternativa ao cron

Share

Certamente uma das heranças do Unix é o serviço de agendamento de tarefas cron, que ainda permanece em diversas distribuições. Hoje, iremos apresentar uma alternativa para esta ferramenta, o fcron.

Breve Histórico

Criado em 2000 por Thibault Godouet, esse daemon tem como objetivo fazer tudo que Vixie Cron e Anacron fazem, oferecendo opções adicionais em relação ao velho conhecido cron.

Recursos

Executar tarefas individualmente, uma por uma;

  • Definir um valor máximo de load average para execução da tarefa;
  • Estabelecer um valor de nice para executar a tarefa;
  • Enviar um e-mail ao usuário para informar que a tarefa não foi executada e explicar por quê;
  • Executar o Fcron por meio de scripts;
  • Fazer o Fcron sair após executar as tarefas pendentes;
  • Executar uma tarefa apenas uma vez entre 0h00 e 05h14;
  • Entre outros.

Instalação

RHEL/CentOS/Fedora

# yum install fcron

Debian (Somente disponível na versão squeeze)

# apt-get install fcron

Dissecando

O Fcron possui seu próprio crontab, o mesmo está alocado no arquivo /etc/fcron/fcrontab. Oferece a possibilidade de cada usuário possuir seu próprio fcrontab, com as permissões definidas nos arquivos /etc/fcron.allow e /etc/fcron.deny.

Sua sintaxe é semelhante ao crontab do Vixie Cron. Portanto, é possível simplesmente executar o seguinte comando para que o Fcron leia o arquivo /etc/crontab:

# fcrontab /etc/crontab

Importante !!!

bootrun(true|false): Se for true, executa a tarefa caso o servidor sistema estava desligado.

lavg(0.1,0.5,0.4): Somente executa a tarefa se os valores de load average do sistema forem iguais ou menores que 0.1 para o último minuto, 0.5 nos últimos 5 minutos e 0.4 nos últimos 15 minutos. As três condições precisam ser satisfeitas (a menos que se use a opção lavgor(true) junto com esta opção).

lavg(0.1,0.5,0.4),until(1h): Semelhante a linha anterior, porém aguarda durante 1 hora a redução do load average. Após este período, executa a tarefa sem consultar o load average.

runas(ciclanodetal): Executa a tarefa como usuário ciclano de tal. Interessante esta opção em vez de especificar o usuário com a sintaxe do Vixie Cron.

Exemplos:

15 16 * * * /scripts/backup.samba.sh

Executa o comando /scripts/backup.samba.sh ás 16:15 todos os dias.

@ 3h /scripts/backup.ldap.sh

A cada 3 horas será executado o script acima.

@runas(ludolfs) 10m /scripts/limpa-temp.sh

O comando acima será executado a cada 10 minutos .

@ 16h19 /scripts/teste.sh

Este comando será executado a cada 16 horas e 19 minutos.

O fcron existe diversas maneiras para utilizar o mesmo. consulte a página do projeto fcron para maiores detalhes, clique aqui.

 

 

 

 

 

 

 

Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.