Estou tentando fazer backup do banco de dados mysql em tempo de execução e não estou conseguindo, veja o que tentei:
[code]package folder;
public class Backup {
public static void main(String[] args) {
try {
Runtime.getRuntime().exec(“mysqldump -u root -p 123 Teste > /home/gustavo/Desktop/BACKUP/Backup000000.sql”);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[/code]
Tudo que encontro pela net é parecido. Quando eu usava o Rwindow$ isso funcionava (“mysqldump -u root -p 123 Teste > /home/gustavo/Desktop/BACKUP/Backup000000.sql”) mas parece que no mysql para Linux o mysqldump não existe?!
depende da distribuição, se ela vem ou não instalado.
Vê na máquina que vc ta usando se tem ou não o comando, e se tá no path.
Se não tiver é só instalar.
if [ $# -lt “1” ] ; then # Teste se tem ao menos 1 parametro - database
echo -e "\nSyntaxe : ./mybackup.sh database [user] [password] [host] \n"
exit 1 # exibo sintaxe e saio com codigo de erro
fi
Verifico as variaveis (parametros) opcionais e atribuo o default caso vazio
let ${passwd:=“backup”}
let ${user:=“backup”}
let ${host:=“localhost”}
#Exceta a exportacao de dados
mysqldump --host=$host --user=$user --password=$passwd --databases $database > $backup_file
[/code]Também tentei isso e funcionou:
Mas fazendo isso não dá certo:
Runtime.getRuntime().exec("mysqldump --host=localhost --user=root --password=123 --databases Teste > /home/gustavo/Desktop/BACKUP/Backup.sql");
Como faço para colocar o script na minha aplicação e chama-lo?