Como é a aparência do arquivo crontab para começar esse script? E quais são as permissões / dono do script?
Em este link eu encontrei:
- Quando a tarefa cron é executada a partir do crontab de usuários, ela é executada como esse usuário. No entanto, ele não fornece arquivos no diretório inicial do usuário, como seus arquivos .cshrc ou .bashrc ou qualquer outro arquivo. Se você precisa do cron para a origem (leitura) de qualquer arquivo que seu script precisará, você deve fazê-lo a partir do script que o cron está chamando. Definir caminhos, pesquisar arquivos, definir variáveis de ambiente, etc.
- Se a conta de usuário tiver um crontab, mas nenhum shell utilizável em / etc / passwd, o cronjob não será executado. Você terá que dar à conta um shell para executar o crontab.
- Se seus cronjobs não estiverem em execução, verifique se o deamon do cron está em execução. Então lembre-se de verificar os arquivos /etc/cron.allow e /etc/cron.deny. Se eles existirem, o usuário que você deseja poder executar trabalhos deve estar em /etc/cron.allow. Você também pode querer verificar se o arquivo /etc/security/access.conf existe. Pode ser necessário adicionar seu usuário lá.
- O Crontab não é analisado para substituições ambientais. Você não pode usar coisas como $ PATH, $ HOME ou ~ / sbin. Você pode definir coisas como MAILTO = ou PATH = e outras variáveis de ambiente que o shell / bin / sh usa.
Então, eu começaria editando o próprio cronjob e alterando o ~ para / home / popcorn9499.
Então faça o mesmo para o script.
Também no script, adicione #! /bin/bash
como a primeira linha.
Se tudo no script for apenas a função backup() {
, retire essa linha e a% final }
e torne-a um script simples. Você pode então perder o argumento backup
e o cronjob se torna: */30 * * * * /home/popcorn9499/Scripts/minecraft.sh
(você realmente precisa fazer um backup a cada 30 minutos?)
Em seguida, verifique se você tem permissão de rwx para o scriptfile: chmod u+rwx ~/Scripts/minecraft.sh
Por fim, considere renomear seu diretório ~/Scripts
to ~/bin
, como já está em seu $ PATH.
Isso deve consertar as coisas.