dúvida de shellscript...

Iniciado por crixtiano, 13 de Março de 2009, 16:40

tópico anterior - próximo tópico

crixtiano

Atualmente eu faço backup do MySQL dessa forma:


Citar$ mysqldump -u usuario --password=senha --all-databases > backup_mysql.txt
$ tar -czf backup_mysql.tar.gz backup_mysql.txt

Como vêem, eu chego no arquivo backup_mysql.tar.gz após dois comandos.

Gostaria de saber se existe alguma forma de se obter o mesmo que acima, porém, em apenas 1 único comando? Ou seja, tem jeito de criar o arquivo backup_mysql.tar.gz diretamente, sem que haja a necessidade de se criar o backup_mysql.txt?

Obrigado

Cristiano

dudu_ubuntun

Olá!

pq nao junta os dois?

mysqldump -u usuario --password=senha --all-databases > backup_mysql.txt && tar -czf backup_mysql.tar.gz backup_mysql.txt

vc pode ainda colocar outro "&&" e eliminar o  backup_mysql.txt com um "&& rm -rf backup_mysql.txt" ;)

Sugest: troque de .txt para .sql acho que fica mais elegante ;)

Abs

raidicar

#2
assino em baixo do post do dudu_ubuntun.
Vc pode juntar os dois comandos numa linha, mas não consegui encontrar uma forma do mysqldump compactar direto as tabelas.
só não entendi uma coisa, você digita os comandos manualmente no terminal ou já estão dentro de um script, por que se já estão dentro de um script, não tem importância se a tarefa é realizada em uma ou duas etapas, definidas em uma ou duas linhas, concorda? a menos que sua base de dados seja grande, ocasionando uma demora para gerar o txt e outra para compacta-lo, então, vc quer que o backup exporte a base de dados direto para um arquivo compactado, pulando a etapa da criação do txt, correto?
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

Felix

Movido para Programação e Scripts