Tendo problemas para executar uma tarefa cron no Unix que gera um nome de arquivo dinâmico para um dump de dados de saída

1

Estou tentando agendar um despejo de banco de dados MySQL usando o cron, mas recebo um erro para algum código que sei que funciona quando eu chamo diretamente no Shell.

Aqui está o código que funciona perfeitamente no Shell:

mysqldump -uUSER -pPASS DB > "/path/to/backup/backup_'date +%Y%m%d%H%M%S'.sql"

No entanto, quando eu configuro um cron job, ele volta com o seguinte erro:

/bin/sh: -c: line 0: unexpected EOF while looking for matching '''
/bin/sh: -c: line 1: syntax error: unexpected end of file

Por favor, alguém pode me dizer o que estou fazendo errado?

Felicidades, Ian.

    
por Ian 15.12.2009 / 13:19

1 resposta

2

Tente:

mysqldump -uUSER -pPASS DB > /path/to/backup/backup_'date +"\%Y\%m\%d\%H\%M\%S"'.sql

uma solução mais fácil no futuro seria colocar seu comando, que funciona no bash, em um shell script, e depois executar o script shell a partir do cron. Se funcionar no bash, funcionará em um script de shell.

    
por 15.12.2009 / 13:24