O script em /etc/init.d/cron apenas ativa o serviço.
O que faz o serviço (crond) ser executado é a programação pra isso.
Ao programar tarefas, evite mexer no crontab central (/etc/crontab). Use pra isso os vários diretórios de controle, que são:
- /etc/cron.hourly : para tarefas que têm que ser executadas de hora em hora. Coloque seu script nesse diretório e ele será executado a cada hora, perto da hora cheia.
- /etc/cron.daily : para tarefas que têm que ser executadas todos os dias. Coloque seu script nesse diretório e ele será executado, todos os dias, por volta de meia noite.
- /etc/cron.weekly : para tarefas semanais. Se não me engano, essas tarefas são executas no domingo, mas não sei a hora exata --- se é que há uma hora exata.
- /etc/cron.monthly : para tarefas mensais. Estas tarefas são executadas no primeiro dia do mês.
As tarefas nesses diretórios são executadas numa hora fixa, aleatória, próxima, após o momento agendado. Tipo, as tarefas colocadas em "/etc/cron.hourly" são executadas entre "hora e um" e "hora e cinco".
Esses diretórios recebem scripts shell. Se vc precisar executar algum aplicativo no seu script, você deve chamá-lo com o caminho completo (p.ex., "/sbin/iptables" em vez de só "iptables"). Váriáveis de ambiente do seu shell não estarão disponíveis lá; assim, por exemplo, se vc precisar ajustar o proxy (variável http_proxy), tem que fazê-lo dentro de seu script.
Há também um outro diretório "/etc/cron.d" que recebe arquivos de agendamento. Cada linha do arquivo de agendamento tem o formato:
minuto hora dia mês dia-da-semana usuario tarefa
P.ex:
Arquivo /etc/cron.d/sarg:
00/15 09-21 * * * sarg /usr/bin/sarg-reports today > /dev/null
00 01 * * * sarg /usr/bin/sarg-reports daily > /dev/null
00 02 * * 06 sarg /usr/bin/sarg-reports weekly > /dev/null
00 03 01 * * sarg /usr/bin/sarg-reports monthly
Esse arquivo de agendamento vai executar de 15 em 15 minutos, das 9 às 21h, o comando "/usr/bin/sarg-reports today", descartando a saída padrão, com o usuário "sarg" (1a linha).
Todos os dias, à 1h00, o comando "/usr/bin/sarg-reports daily > /dev/null" será executado pelo usuário sarg (2a linha).
Todos os domingos, às 2h00, o comando "/usr/bin/sarg-reports weekly > /dev/null" será executado pelo usuário sarg (3a linha).
No dia 1o. de cada mês, o comando "/usr/bin/sarg-reports monthly > /dev/null" será executado pelo usuário sarg às 3h00 (4a linha).