Crontab parou de funciona

Olá, tenho o linux mint instalar e tava mudando a pasta do crontab pra outra pasta pois ele tava dentro do meu ssd ai fui mudar pra o HD, so que ele não tava executando os script voltei pra o ssd e mudei a pasta novamente so que mesmo assim ele não exeuta, alguem tem alguma ideia pra resolver isso sem formata pois e meu sistema principal que uso pra tudo.

Que eu saiba, o Cron do Debian/Linux Mint só trabalha com o arquivo /etc/crontab, /etc/cron.{d,daily,monthly,weekly} e a pasta /var/spool/cron/crontabs. Como você está fazendo essas mudanças?

eu consegui coloca pra funcina desistando e instalando novamente, mas so ta executando ser for como root.

Eu uso o Crontab como usuário comum, porém nunca me arrisquei a modificar o nome ou a localização do arquivo, que gerei pelo comando crontab -e – que abre um editor (nano, no meu caso), para eu digitar ou colar os comandos que eu queria:

$ crontab -l
no crontab for flavio

$ crontab -e
no crontab for flavio - using an empty one
crontab: installing new crontab

$ crontab -l
@reboot sleep 600; bash RAM.sh

Pela captura de tela, vejo agora que ele criou um arquivo /tmp/crontab.93mKH2. – À primeira vista, parece coisa “temporária” (/tmp/), mas a verdade é que fiz isso no dia 21 do mês passado, e continua funcionando até hoje:

Há vários meses (talvez mais de 1 ano) que faço assim em todas as minhas 12 distros – e funciona perfeitamente em todas elas, até hoje.

(Ignoro os “nomes” aleatórios que esse arquivo possa ter, nas outras 11 distros. – Tenho captura de tela da maioria deles, mas acho que não vem ao caso, aqui).

Na verdade o que está acontecendo, é que o Cron abre com o crontab -e uma copia temporária de seu arquivo real, para que você possa modificar, e somente depois que salvar, ele verifica se há a existência de erros e se não conter, então ele sobrescreve o arquivo real, isso ocorre para evitar uma possível perca dos cronjobs por um simples erro de sintaxe.

2 curtidas

eu não mudei o cron de luga, so os arquivos que tava executando, ele ta executando novamente mas ta salvando como root so, pois tentei coloca o usuario meu e não ta salvando.

Tente criar novamente o crontab para o usuário à qual deseja com o comando abaixo.* Lembre-se que os scripts tem que ter permissões de execução.

crontab -u <USER> -e

Adicione este cronjob para testes

* * * * * ~/teste.sh

E na home desse usuário crie esse script teste.sh com o seguinte conteúdo.

echo "$(date) Fui executado" >> log-test.txt

Conceda permissão de execução ao mesmo.

chmod +x ~/teste.sh

E verifique se o arquivo log-test.txt é preenchido de minuto a minuto.

1 curtida

já fiz um teste assim, mas não teve jeito so ta exeutando como root.

Experimente reiniciar o Cron

sudo service cron restart

Caso persista esse erro, considere usar o Systemd Timers - ArchWiki

2 curtidas