Ich habe einen Dump der Tabelle erhalten, indem ich ShellScript mit einer zusätzlichen Funktion auf den Server getreten habe Ich habe es noch nie in Java gemacht, also werde ich es aufschreiben Ich habe diese Person als Referenz verwendet Führen Sie hier das ShellScript von RenumberData.sh in / home / dev / sample / work / sh / aus
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
yobidashi.java
CallProcess sh = new CallProcess();
sh.doBackupTable("RenumberData");
CallProcess
CallProcess.java
package mr.yappy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import sample.core.log.Logger;
/**
*Verarbeitungsklasse für die Ausführung von Shell-Skripten
* @param shName Name der Ausführungsshell
* @author yappy
* @version 1.0.0
*/
public class CallProcess {
private Logger log = Logger.getLogger("aaa");
public void doBackupTable(String shName) {
Process process = null;
InputStream inputS = null;
InputStreamReader isReader = null;
BufferedReader bReader = null;
String text = "";
try {
//Geben Sie den Pfad auf dem Server an
String shPath = "/home/dev/sample/work/sh/";
ProcessBuilder pb = new ProcessBuilder("sh", shPath + shName + ".sh");
// /home/dev/sample/work/sh/RenumberData.lauf sh
process = pb.start();
//inputS = process.getInputStream();
inputS = process.getErrorStream();
//isr = new InputStreamReader(inputS, "Shift-JIS");
isReader = new InputStreamReader(inputS, "UTF-8");
bReader = new BufferedReader(isReader);
StringBuilder builder = new StringBuilder();
String c = "";
while ((c = bReader.readLine()) != null) {
//Ausführungsergebnisse schreiben
builder.append(c);
}
//Ausführungsergebnis
text = builder.toString();
//Ende
process.waitFor();
//Verarbeitungsstatus abrufen
int ret = process.exitValue();
if (ret == 0) {
//Erfolgreiche Fertigstellung
} else {
//Abnormale Beendigung
log.error("error result : " + text);
}
} catch (IOException | InterruptedException e) {
log.error(e,e);
} finally {
//Verschiedene schließt
if (process != null) {
process.destroy();
}
if (inputS != null) {
try {
inputS.close();
} catch (IOException e) {
log.error(e,e);
}
}
if (isReader != null) {
try {
isReader.close();
} catch (IOException e) {
log.error(e,e);
}
}
if (bReader != null) {
try {
bReader.close();
} catch (IOException e) {
log.error(e,e);
}
}
}
}
}
Recommended Posts