gpt4 book ai didi

java - 没有 shell 解释的 mysqldump

转载 作者:行者123 更新时间:2023-11-29 12:49:45 24 4
gpt4 key购买 nike

我正在尝试通过 java 程序在远程服务器上运行命令。部分代码如下:

Process backUp = Runtime.getRuntime().exec(cmd);

BufferedReader stdInput = new BufferedReader(new InputStreamReader(backUp.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(backUp.getErrorStream()));

cmd 字符串包含:

 sudo mysqldump --host=localhost --no-data --user=root --password=*******
lbs company > /home/ubuntu/michael/***************/lbs.company.sql

我知道我的问题是“>”用于 shell 解释的命令,这些命令不适用于 runtime.exec。如何格式化 mysqldump 命令来解决这个问题?谢谢。

最佳答案

您可以使用--result-file,而不是通过“">”重定向输出。指定 mysqldump 的输出。所以

mysqldump --host=localhost --user=root --password=******* lbs company > /home/lbs.company.sql

变成了

mysqldump --host=localhost --user=root --password=******* --result-file=/home/lbs.company.sql lbs company

关于java - 没有 shell 解释的 mysqldump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com