Olá, Matheus! Parece que você está tendo problemas para executar seu script através do crontab, correto? Vamos tentar resolver isso juntos.
Primeiramente, verifique se o caminho absoluto para o script está correto. No seu caso, é /home/matheus/Documentos/BASH/exercicio4.sh
. Verifique se o arquivo exercicio4.sh
realmente existe neste local.
Em segundo lugar, certifique-se de que o script tem permissões de execução. Você pode verificar isso com o comando ls -l /home/matheus/Documentos/BASH/exercicio4.sh
. Se o arquivo não tiver permissão de execução, você pode adicioná-la com o comando chmod +x /home/matheus/Documentos/BASH/exercicio4.sh
.
Além disso, os scripts executados pelo cron executam em um ambiente diferente do seu shell de login, o que significa que eles podem não ter acesso a todas as variáveis de ambiente e caminhos que você tem em sua sessão de terminal. Portanto, é uma boa prática usar caminhos absolutos em seus scripts. No seu script, você está usando $(pwd)
para obter o diretório atual, mas isso pode não funcionar como esperado quando o script é executado pelo cron.
Experimente substituir $(pwd)
pelo caminho absoluto do diretório onde você deseja criar a pasta 'exercicio_4'. Por exemplo:
pasta='/home/matheus/Documentos/BASH/exercicio_4'
Por último, para verificar se o cron está realmente executando o seu script, você pode redirecionar a saída padrão (stdout) e a saída de erro (stderr) para um arquivo de log. Adicione >> /home/matheus/Documentos/BASH/cron.log 2>&1
ao final da linha do crontab. Isso irá registrar qualquer saída ou erro do seu script no arquivo cron.log
.
A linha no crontab ficaria assim:
* * * * * /home/matheus/Documentos/BASH/exercicio4.sh >> /home/matheus/Documentos/BASH/cron.log 2>&1
Espero que essas sugestões possam te ajudar a solucionar o problema. Lembre-se, a prática leva à perfeição, então continue tentando! Espero ter ajudado e bons estudos!