Eu escrevi um script que faz backup do meu banco de dados MySQL e produz um arquivo GZIP com o dump mysql do meu banco de dados. Gostaria de saber se é possível descompactar o arquivo GZIP e restaurar o banco de dados em um único comando?
Algo assim:
mysql -u user -h host -ppass database < gzip -c database.backup
Mas isso não parece funcionar. Alguma sugestão?
Eu uso o seguinte comando:
mysqldump -u user -h host -ppass database | gzip -9 > database.backup
O erro que recebo é: -bash: gzip: No such file or directory;
o que, na minha opinião, indica que não reconhece o gzip como um comando ou algo parecido
Responder1
Você está usando dois comandos, portanto deve usar um canal e não um redirecionamento. Eu uso isso:
gunzip < file.gz | mysql <parameters>
Responder2
Normalmente isso deve funcionar. O gzip está instalado e disponível na variável PATH? (Você pode testá-lo com o comando "qual gzip"
mysqldump -u user -h host -ppass database | gzip -9 > database.backup
mas eu usaria como arquivo de backup o sufixo .gz
Você também pode tentar
mysqldump -u user -h host -ppass *--database* "db_name" | gzip -9 > "db_backup".backup.gz
Escrevi um script recentemente para fazer um backup compactado dos meus bancos de dados.