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