Problema na hora do backup do mysql via java

Pessoal, pesquisei como fazer, achei o conhecido mysqldump, testei no console, funcionou, mas quando chamo de dentro da aplicação, não acontece nada

        try {
           Runtime.getRuntime().exec("cmd /c "+pasta_bin_do_mysql+"\mysqldump -h "+ip_server+" -u "+user+" "+nome_do_banco+" > "+System.getProperty("user.dir")+"\backup.sql"); 
        } catch (Exception e) {
            e.printStackTrace();
        }

eu chamo o método mas não acontece nada, nenhum erro, as variáveis estão ok, a sintaxe para o mysqldump também, já que roda normal no cmd.

alguma sugestão de onde esteja o erro?

Alexandreapt eu tive um problema assim com um programa para configurar a placa de rede do meu note… Nao tenho como testar isso pra vc, mas tente colocar um /k no seu argumento do cmd. Acredito que o cmd esteja finalizando antes mesmo de poder executar o dump…
Pode ser que eu esteja enganado mas comigo aconteceu um problema bem semelhante…

caiozanchetti, tentei com o /c, o /k e até sem nada, mas continua não acontecendo nada.

existe alguma outra forma de se executar uma aplicação externa?

Opa cara ouvi comentários sobre as classes ProcessBuilder e Process para usar processos externos dá uma conferida, caso queira uma forma alternativa para resolver o seu problema.

Vc tem certeza que no momento do System.getProperty(“user.dir”) e caminho estão certos neh…

sim, tudo certo com o System.getProperty(“user.dir”)

estava pesquisando aqui e pelo o que percebi a melhor forma é usar o stream para salvar o resultado do cmd/mysqldump

estou fazendo assim agora

           Process  process = Runtime.getRuntime().exec("cmd /c "+url+"\mysqldump -h "+host+" -u "+user+" "+db_name); 
           
           OutputStream os = new FileOutputStream (System.getProperty("user.dir")+"\backup.sql");
os = process.getOutputStream();

mas não sei como salvar o conteúdo do stream em um arquivo.

alguma dica?

Usa a OutputStreamWriter, qq coisa grita outra vez.

como? como passo o stream e como mando ele salvar?

Alexandreapt vamos fazer um teste: Tenta fazer um bat e executar ele normalmente pra ver se o dump acontece, depois tenta chamar esse bat com o runtime (talvez esse post possa te ajudar quanto a questao do outputstrem: http://www.guj.com.br/posts/list/57056.java), posta os resultados desses testes…
Abraço,

a idéia do bat eu estava guardando caso nada mais funcionasse hehe

bom, é mais simples/fácil usar o bat, deixarei a idéia do outputstrem para uma próxima versão do sistema, ainda não entendi direito como ele funciona.

valeu pela ajuda caiozanchetti, brigadão