
Quando uma tarefa do cron não corre num VPS, a causa quase nunca é o cron: é o ambiente em que ele corre. O cron arranca com um ambiente mínimo, sem o seu PATH, sem o seu terminal e sem o seu directório de trabalho. O comando que funciona na linha de comandos falha lá. A cura é usar caminhos completos, redirecionar a saída para um ficheiro, e ler esse ficheiro.
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 ficheiros; variáveis definidas no próprio crontab ou no script. |
| Nada no registo do cron | O serviço está parado, ou o ficheiro 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 utilizador do cron não lê a pasta: permissões de ficheiros. |
| 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 redireccionamento 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 utilizador por engano. Uma tarefa que escreve ficheiros 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 utilizador que é dono dos ficheiros (sudo crontab -e -u nomedoutilizador). |
| 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: correr 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 registos num VPS Linux Permissões de ficheiros num VPS |
PRODUTO RECOMENDADO Servidor VPS com acesso root Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde 7.560,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |
- 0 Utilizadores acharam útil











