# 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).

[![image.png](https://pt-br.openvservers.info/uploads/images/gallery/2025-09/scaled-1680-/k1Jll9HW7hv8QxjP-image.png)](https://pt-br.openvservers.info/uploads/images/gallery/2025-09/k1Jll9HW7hv8QxjP-image.png)

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.

[![image.png](https://pt-br.openvservers.info/uploads/images/gallery/2025-09/scaled-1680-/jCySg3JcNkzWcnIn-image.png)](https://pt-br.openvservers.info/uploads/images/gallery/2025-09/jCySg3JcNkzWcnIn-image.png)

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:

```bash
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:

```bash
/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:

```bash
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:

```bash
cd /home/user/domains/domain.com/public_html/; php -q file.php
```

ou

```bash
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 &amp;&amp; para separá-los na mesma linha como [no exemplo acima](https://pt-br.openvservers.info/link/46#bkmrk-executar-um-cronjob-). 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.