Parece que quando você executa o script manualmente, você faz isso como chris . Então, por que você está tentando executá-lo como root under cron? /etc/crontab (e por extensão os diretórios /etc/cron.* ) são para tarefas do sistema. Para executar um trabalho como seu usuário, execute crontab -e e escreva uma linha como
01 * * * * cd ~/path/to/directory && ~/bin/auto-commit
Isso executa ~/bin/auto-commit no diretório especificado de hora em hora em um minuto após a hora.