Cronjobs
Acesso aos Cronjobs
Para acessar a página de gerenciamento dos Cronjobs associados à sua conta de hospedagem, faça login no painel de controle DirectAdmin, clique em Recursos Avançados (Advanced Features) e, em seguida, em Tarefas Cron Jobs (Cronjobs).
Os Cronjobs são comandos do sistema que podem ser agendados. Por exemplo, se você quiser adicionar o valor "ola" a um arquivo de texto todas as segundas-feiras de manhã, pode fazer isso através dos Cronjobs.
Os valores que podem ser configurados são: minuto, hora, dia, mês e dia da semana (segunda a domingo; os números 0 ou 7 representam domingo). Qualquer valor pode ser ignorado colocando um asterisco (*) no campo de texto.
No exemplo a seguir, estamos definindo o comando echo para inserir a palavra "ola" no arquivo hi_per_hour.txt todos os dias à meia-noite.
Também é possível especificar horas exatas utilizando vírgulas para separá-las (ex.: 1,2,3 são os minutos 1, 2 e 3). É possível especificar intervalos utilizando um traço (ex.: 5-7 são os minutos de 5 a 7). Também é possível definir intervalos usando um asterisco e uma barra (*/) (ex.: */2 é a cada 2 minutos). Você pode combinar essas opções para criar um agendamento mais preciso (ex.: 1,5,11-15,30-59/2 → minutos 1, 5, de 11 a 15 e a cada 2 minutos entre 30 e 59). Lembre-se de clicar no botão Criar quando terminar de inserir os dados.
Executar um script PHP
É necessário chamar o binário do PHP e indicar o script a executar. Por exemplo:
php -q /home/user/domains/domain.com/public_html/file.php
Especificar uma versão diferente com o PHP Selector do CloudLinux
Se pretender usar uma versão php especifica em servidores com o php selector do cloudlinux para que seja usado a versão compativel com o seu aplicativo web, pode trocar o php por /opt/alt/phpXX/usr/bin/php, substituindo o XX pela versão pretendida. Por exemplo, se pretender usar a versão 7.2 do PHP, deve usar:
/opt/alt/php72/usr/bin/php -q /home/user/domains/domain.com/public_html/file.php
Cronjob com timezone associado
Uma vez que o timezone do servidor pode ser diferente do seu, pode usar o parametro TZ="America/Sao_Paulo" antes do comando que pretende executar. Por exemplo:
TZ="America/Sao_Paulo" php -q /home/user/domains/domain.com/public_html/file.php
Executar um Cronjob em uma pasta especifica
É necessário primeiro mudar para a pasta em que deseja que o script seja executado. Pode usar um dos seguintes exemplos:
cd /home/user/domains/domain.com/public_html/; php -q file.php
ou
cd /home/user/domains/domain.com/public_html/ && php -q test.php
Perguntas Frequentes
1. O que significa o -q ao executar um script PHP em um Cronjob?
O -q significa quiet (silencioso) e indica ao PHP que ele não deve enviar cabeçalhos HTTP. Ao usar Cronjobs, isso ajuda a evitar mensagens ou saídas desnecessárias que poderiam ser enviadas por e-mail ou aparecer em logs, mantendo o processo mais limpo e silencioso. É útil quando o script é executado automaticamente.
Resolução de Dificuldades
1. The command cannot contain any newline characters
Esse erro significa que o comando que você está tentando adicionar ao Cronjob contém quebras de linha (enter / newline), o que não é permitido. No DirectAdmin (e na maioria dos sistemas que usam cron), o comando deve ser uma única linha contínua.
Exemplos de causas comuns:
- Copiar e colar um comando de um editor de texto que adiciona quebras de linha no final.
- Tentar escrever várias instruções em linhas separadas dentro do mesmo campo de comando.
Solução:
Certifique-se de que todo o comando está em uma única linha. Se precisar executar múltiplos comandos, use ; ou && para separá-los na mesma linha como no exemplo acima. Se precisar executar comandos com imensas linhas, sugerimos criar um script em Bash e configurar o Cronjob para executar esse script.
Conclusão
Este artigo aborda os cenários mais comuns de forma bastante completa. No entanto, se precisar de assistência adicional, não hesite em contatar.

