Tarefas cron executam um script automaticamente em horários definidos, como rotinas de sistemas, filas de e-mail ou o agendador do WordPress. Você mesmo cadastra as tarefas no painel, sem intervenção da equipe.
Onde cadastrar
- cPanel: Trabalhos Cron (Cron Jobs).
- DirectAdmin: Cronjobs.
- Plesk: Tarefas agendadas (Scheduled Tasks), no domínio.
Em todos eles você define minuto, hora, dia, mês e dia da semana, e o comando.
Formato do comando
Use o caminho completo do script e chame o PHP no início do comando.
cPanel:
php -q /home/usuario/public_html/pasta/script.php
DirectAdmin:
php -q /home/usuario/domains/seudominio.com.br/public_html/pasta/script.php
Para guardar a saída e descobrir erros, envie o resultado para um arquivo de
log (crie a pasta logs antes):
php -q /home/usuario/public_html/pasta/script.php >> /home/usuario/logs/cron.log 2>&1
O cron apenas executa o script. Se você espera receber um e-mail, o próprio script precisa enviar a mensagem.
WordPress: troque o WP-Cron por um cron real
O WP-Cron roda a cada visita e pode pesar ou falhar em sites com pouco acesso. Para usar um cron real:
- No
wp-config.php, acrescente:
define('DISABLE_WP_CRON', true);
- Cadastre a tarefa no painel:
cd /home/usuario/public_html && php -q wp-cron.php >/dev/null 2>&1
Use um intervalo moderado, como a cada 5 ou 15 minutos.
Revenda: o cron não executa em nenhuma conta
Nas contas criadas pela revenda, a opção jailshell (shell enjaulado)
bloqueia o shell da conta e, com isso, as tarefas cron e o terminal. Erros
como couldn't exec /usr/bin/jailshell indicam esse caso.
- WHM: desative o jailshell no pacote usado pelas contas ou em uma conta específica, em Listar contas, na opção de modificar a conta.
- DirectAdmin (revendedor): em Pacotes de hospedagem (Meus Pacotes), desative o jailshell no pacote usado pelas contas.
Erros comuns
No input file specified: o caminho do arquivo está errado. Confira a pasta no Gerenciador de Arquivos.- Funciona pelo navegador e não pelo cron: a versão do PHP do cron pode ser diferente da do site. Informe no ticket o comando usado.
- Tarefa com intervalo de 1 minuto: prefira intervalos maiores e confirme com o suporte se o sistema exige execução muito frequente.
Se não resolver
Abra um ticket com:
- o domínio e a conta onde a tarefa está cadastrada;
- o comando exato e o horário configurado;
- o conteúdo do log da tarefa, se houver.
Não inclua senhas no ticket.
Esta resposta foi útil?
A sua avaliação nos ajuda a melhorar os artigos.