| package com.xxl.job.core.util; |
| |
| import java.io.BufferedWriter; |
| import java.io.File; |
| import java.io.FileWriter; |
| |
| |
| * <p> |
| * <code>GenerateShellScript</code> |
| * </p> |
| * Description: |
| * |
| * @author Jalen |
| * @date 2020-01-17 03:31 PM |
| */ |
| public class GenerateShellScript { |
| |
| private static void createShell(String path, String... strings) throws Exception { |
| if (strings == null) { |
| System.out.println("strings is null"); |
| return; |
| } |
| File sh = new File(path); |
| boolean createResult = sh.createNewFile(); |
| if (!createResult){ |
| System.out.println("create failed"); |
| } |
| boolean executeResult = sh.setExecutable(true); |
| if (!executeResult){ |
| System.out.println("execute failed"); |
| } |
| FileWriter fw = new FileWriter(sh); |
| BufferedWriter bf = new BufferedWriter(fw); |
| |
| for (int i = 0; i < strings.length; i++) { |
| bf.write(strings[i]); |
| if (i < strings.length - 1) { |
| bf.newLine(); |
| } |
| } |
| bf.flush(); |
| bf.close(); |
| } |
| |
| private static void checkAndCreate(String jobName){ |
| File file = new File("D:\\idea\\workspace\\xxl-job-oracle\\xxl-job-core\\src\\main\\java\\com\\xxl\\job\\core\\util\\" + jobName + ".sh"); |
| if (!file.exists()){ |
| String command1 = "#!/bin/bash"; |
| String command2 = "source /opt/xxx/spoc.cfg"; |
| String command3 = "/opt/venv/bin/python /opt/xxx/xxx/jobs/xxxx.py" + |
| " " + "'" + jobName + "'"; |
| String command4 = "echo \"End!\""; |
| String path = "D:\\idea\\workspace\\xxl-job-oracle\\xxl-job-core\\src\\main\\java\\com\\xxl\\job\\core\\util\\" + jobName + ".sh"; |
| String[] strings = {command1, command2, command3, command4}; |
| try { |
| createShell(path, strings); |
| } catch (Exception e) { |
| e.printStackTrace(); |
| } |
| }else { |
| System.out.println("File exist"); |
| } |
| |
| } |
| |
| public static void main(String[] args) { |
| String jobName = "Exception Sites for xxxx"; |
| checkAndCreate(jobName); |
| } |
| } |