Gravar permissões dentro do script de shell

0

Estou usando um servidor Debian 7. Eu criei um script de shell para ser executado pelo crontab para salvar um mysqldump todos os dias.

mysqldump *database* -u *mysql-user* -p*mysql-password* > /backup/mysql_backup/*filename*.sql

Se digitado diretamente na linha de comando, tudo funciona bem. Mas se eu executar o script de shell em si (./backup.sh), não receberei nenhum arquivo resultante, mas nenhum erro. A pasta hat rights 777, o shell script é executável. Eu nem tentei colocar o script no crontab, quando o script nem funciona na linha de comando.

Alguém sabe o que fazer?

    
por dboth 09.05.2015 / 22:00

2 respostas

1

Adicionando #!/bin/bash fez a coisa, eu esqueci de adicionar essa linha. Realmente não é possível dizer por que ele não funciona no shell, mas de alguma forma ele agora funciona dentro do script e dentro do cronjob. Obrigado pelos comentários.

    
por 11.05.2015 / 17:08
0

tenha em mente que o crontab não possui as mesmas variáveis de ambiente que você faz quando está logado em um shell bash, mais notadamente $ PATH, então use o hábito de usar caminhos CHULLOS para comandos onde o crontab está envolvido

/usr/bin/mysqldump > /full/path/backup/
    
por 01.06.2015 / 17:34