Cron job (tarefa agendada): o que é e como funciona
Cron job (tarefa agendada) é um comando que o servidor executa sozinho, em dias e horários definidos por você, sem ninguém precisar clicar em nada. É usado para rotinas como limpar arquivos temporários toda madrugada, gerar um backup ou rodar um script PHP a cada 15 minutos. O nome vem do cron, o agendador de tarefas dos sistemas Linux.
Como é escrito um cron job?
Cada tarefa fica em uma linha com cinco campos de horário, seguidos do comando. O manual do crontab define os limites de cada campo:
* * * * * comando
| | | | |
| | | | +-- dia da semana (0 a 7; 0 e 7 são domingo)
| | | +----- mês (1 a 12)
| | +-------- dia do mês (1 a 31)
| +----------- hora (0 a 23)
+-------------- minuto (0 a 59)
O asterisco significa “todos os valores”. A vírgula separa uma lista (1,15), o hífen indica um intervalo (8-11) e a barra define um passo (*/10 é “a cada 10”). Alguns sistemas também aceitam apelidos como @reboot, @daily e @hourly no lugar dos cinco campos.
Quais são exemplos de horários?
*/10 * * * * comando a cada 10 minutos
20 3 * * * comando todo dia às 3h20
0 8 * * 1 comando toda segunda-feira às 8h
Um exemplo completo chama o PHP com o caminho do script e descarta a saída: */15 * * * * /caminho/do/php /home/usuario/rotina.php >/dev/null 2>&1. Troque os caminhos pelos da sua conta e use sempre caminhos completos. Sem o descarte, o resultado de cada execução é enviado por e-mail ao dono da tarefa.
Qual é a pegadinha do dia do mês com o dia da semana?
Se você preencher os dois campos, o cron executa quando qualquer um deles bater, e não só quando os dois baterem. Assim, 0 8 1 * 1 roda às 8h no dia 1 de cada mês e também em todas as segundas-feiras. Para limitar a um só critério, deixe o outro campo com asterisco.
Cron e WP-Cron são a mesma coisa?
Não. O agendador do WordPress, o WP-Cron, só confere a lista de tarefas quando alguém abre uma página, segundo a documentação do WordPress. Em site com pouco movimento, uma tarefa pode atrasar horas. Quem quer horário mais certo pode desligar o WP-Cron na configuração do WordPress e chamar o agendador por um cron de verdade, num intervalo moderado.
Como fica na PW Host?
No painel de controle DirectAdmin, as tarefas ficam em Recursos avançados, em Tarefas Cron Jobs, no botão Criar uma nova tarefa cron. A tela tem um campo para cada parte do horário e um para o comando. Há também o envio do retorno por e-mail. A tarefa roda dentro dos recursos da sua conta: tarefas muito frequentes ou longas consomem os limites de recursos e podem deixar o site lento, e os Termos de Uso não permitem processos que consumam recursos de forma contínua e excessiva. Teste o comando antes de agendar. O passo a passo está em Tarefas agendadas (Cron Jobs), e scripts simples em Python também podem rodar por agendamento, como mostra Criar um aplicativo Python.
