
Quando uma tarefa do cron não roda num VPS, a causa quase nunca é o cron: é o ambiente em que ele corre. O cron inicia com um ambiente mínimo, sem o seu PATH, sem o seu terminal e sem o seu diretório de trabalho. O comando que funciona na linha de comandos falha lá. A cura é usar caminhos completos, redirecionar a saída para um arquivo, e ler esse arquivo.
Passo a passo
|
|
|
|
|
|
As causas, por ordem de frequência
| Sintoma | Causa e remédio |
| Funciona no terminal, falha no cron | PATH e ambiente mínimos. Caminhos completos para o programa e para os arquivos; variáveis definidas no próprio crontab ou no script. |
| Nada no registro do cron | O serviço está parado, ou o arquivo de crontab tem um erro de sintaxe. Os cinco campos de tempo são: minuto, hora, dia do mês, mês, dia da semana. |
| O script “não tem permissão” | Falta o bit de execução (chmod +x script.sh), ou o usuário do cron não lê a pasta: permissões de arquivos. |
| Uma linha com % parte-se | No crontab, o % significa nova linha. Escape-o com \%, por exemplo em date +\%F. |
| Corre à hora errada | O cron usa o fuso horário do servidor. Veja-o com timedatectl. Uma tarefa “às 2” é às 2 desse fuso, não às suas. Para o acertar: o fuso horário e o relógio do VPS. |
| Corre, mas não faz nada | O comando termina com erro que ninguém vê. Sem redirecionamento da saída, o cron tenta mandá-la por e-mail local, que ninguém lê. |
| Corre duas vezes ao mesmo tempo | A tarefa anterior ainda não acabou. Use flock para impedir sobreposições. |
| Não edite o crontab de outro usuário por engano. Uma tarefa que escreve arquivos como root numa pasta do site deixa-os com dono root, e o site deixa de os conseguir alterar. Ponha a tarefa no crontab do usuário que é dono dos arquivos (sudo crontab -e -u nomedousuario). |
| Cuidado com tarefas que apagam. Ensaie primeiro à mão e com uma pasta de ensaio. Uma linha com um caminho mal escrito e um rm é difícil de desfazer, e num VPS as cópias são suas: copiar um VPS. |
| Para tarefas com PHP e para cópias automáticas temos artigos prontos: rodar um script PHP a partir do cron e cópias automáticas da sua aplicação. Sobre cron em geral e no painel de hospedagem: tarefas cron. |
|
Dúvidas sobre o que está do nosso lado, como a máquina ligada ou a rede? Abra um pedido e vemos. Abrir um pedido de suporte |
|
VEJA TAMBÉM Onde estão os registros num VPS Linux Permissões de arquivos num VPS |
PRODUTO RECOMENDADO Servidor VPS com acesso root Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde R$ 46,20/mês (plano de 3 anos, com cupom) Ver planos |











