最近的新项目有多个地方需要调用shell脚本,这里记录下简单的shell脚本调用方法。代码如下: private void callSh() { InputStreamReader stdISR = null; InputStreamReader errISR = null; Process process = null; //调用的脚本及路径 String command = "/home/mw/weblogic/test.sh"; try { process = Runtime.getRuntime().exec(command); BufferedReader stdBR = new BufferedReader(new InputStr...
shell脚本调用Java程序
test.sh 脚本内容
nohup java -cp "./***.war/WEB-INF/lib/*:./***.war/WEB-INF/classes" com.datatrans.controller.Deal > /app/logs/test.log &Linux命令 启动脚本:./test.sh
shell脚本调用Java程序传参
方式一
test.sh 脚本内容
nohup java -cp "./***.war/WEB-INF/lib/*:./***.war/WEB-INF/classes" com.datatrans.controller.Deal $1>/app/logs/test.log &Linux命令 启动脚本:./test.sh 参数内容 注...
本实例为用Java执行shell脚本启动或关闭远程Mysql数据库,需求原因:游戏服务器合服后,为了节省内存消耗,需要关闭合服后的服务器不必要的数据库(一台服务器主机存在多个MySql数据库),以提高服务器性能,但有时需要查询历史游戏玩家信息,又需要开启数据库,为了节省运维人员的人力和时间,游戏后台就提供非运维人员都可操作开关数据库的操作。
功能实现步骤:
第一:服务器后台提供参数,发送异步请求,请求方法如下
<script ...
一.概述
如果项目中需要使用到定时任务来完成某些业务,一般有两种做法:定时任务依赖于项目;定时任务用批处理(windows执行)或者shell脚本(Linux)启动,不依赖于项目。
个人觉得,定时任务不依赖于项目的方式更优!独立执行,不会影响到应用的性能。二.用jdbc连接数据库写业务
不能使用hibernate等高级方式,或者公司框架使用的高级工具。因为shell脚本不依赖于项目,独立执行的。
用jdbc写简单的增...
我是mysql的新手.我的要求是创建一个shell脚本,将sql转储文件导入linux中的mysql,这个脚本应该由java程序调用,以便恢复点击按钮.
请就此向我提出建议.
问候,
Chandu.解决方法:它可以通过使用mysql来完成mysql –user=USERNAME–password=PASSWORD DATABASE < DATABASE.sql编辑:
要将其放在脚本中:
file loaddb.sh:mysql –user=USERNAME–password=PASSWORD DATABASE < $1.sql添加执行权限chmod +x loaddb.sh你会称之为:loaddb...
今天遇到一个远程升级的需求,通过接口去触发终端服务的接口,重新拉取最新的jar包,并重启终端服务,这个终端服务是用java写的。 实现该需求,两个步骤,一个是需要一个shell脚本:拉取jar包、kill掉服务、启动服务;还有一个就是java中收到消息去调用shell脚本。
脚本
启动命令:/root/dtest/upgrade.sh jar-name 端口 jar下载地址 jar存放路径 1 # !/bin/bash2 echo "start upgrade......"3 ## 判断参数是否正确4 ########### ...
实际工作中开发环境或本地测试有时候需要手动部署jar包,每次启动、关闭、重启很繁琐,使用该脚本可简化测试时jar启动管理启动jar包,指定参数-Dxx=nn
./jar-admin.sh /tmp/xxxx.jar start -Dxx=nn
重启jar包,指定参数-Dxx=nn
./jar-admin.sh /tmp/xxxx.jar restart -Dxx=nn
停止jar包
./jar-admin.sh /tmp/xxxx.jar stop
打印jar包启动命令
./jar-admin.sh /tmp/xxxx.jar cmd -Dxx=nn#!/bin/bash
# 注意设置环境变量
# export JAVA...
//调用shell的方法 shellCommand 存放tomcat路径 projectname 要重新部署的war文件名public void executeShell(String shellCommand,String projectname) throws IOException {System.out.println("shellCommand:"+shellCommand); //存放日志路径String executeShellLogFile=shellCommand+"\\executeShell.log"; //调用的shell路径String sendKondorShellName=shellCommand+projectname+".sh";StringBuffer stri...
1.Windows下执行cmd命令
如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt
现文件如图示:
执行代码: private static void runWinCmd() throws IOException, InterruptedException {Process proc = Runtime.getRuntime().exec("cmd.exe /c copy D:\\tmp\\my.txt D:\\tmp\\my_by_only_cmd.txt");int processCode = proc.waitFor();System.out.println("Process code: " + processCode);}
结果如图示,执行成功
2.Windows下...
sonrqube版本6.7.7
关于jenkins和sonarqube的安装不在本博客中详细讲解,可参考我的其他博客:
https://www.cnblogs.com/zndxall/p/9336879.html (jenkins集成soanrqube)
https://www.cnblogs.com/zndxall/p/12095769.html (linux上sonar的安装和总结)
soanrqube插件很多在应用市场是下载不了的,同样给出了下载插件的博客:https://www.cnblogs.com/zndxall/p/13534244.html
由于公司代码仓比较多,涉及到java,js,go,c++,o...
查看当前系统Java版本的命令:java -version如果显示Java版本号,说明已经正确安装,如果显示没有该命令,需要自行安装Java;
在执行项目的脚本前加上source /etc/profile;
完整的脚本为:
(/var/lib/jenkins/workspace/demoSecurity/target/xxx.jar )
source /etc/profile
java -jar /var/lib/jenkins/workspace/demoSecurity/target/xxx.jar
--spring.profiles.active=prod &
我正在将Java REST服务从“传统”方式(作为兼容servlet的.war部署到多租户应用服务器(Tomcat))转换为更简单的嵌入式设置,其中有一个简单的Java主类启动嵌入式http服务器(Grizzly Jersey).一个缺少的部分是服务包装器.我可以通过执行’java -jar myservice.jar’来手动运行该服务,但是我想实现为适当的Linux后台服务.
通常,这是通过放入/etc/init.d中的简单Bash shell脚本完成的.我已经看到了一些超级简单的示例,但是它们使用进程终...
我正在使用此处提供的有用示例,使用JSch exec在远程服务器上执行Shell脚本.我可以看到脚本返回的回显,并且结尾处的退出状态为0-乍一看,一切看起来都很不错.
但是,问题在于脚本本身会调出其他脚本,而这些脚本似乎被完全忽略,只是被跳过了.
该脚本直接调用其他脚本.即脚本的第一行类似于:script_two.sh任何人都可以建议以任何方式克服这一问题吗?我确实开始研究“ shell”通道而不是“ exec”通道,但是在我的情况下这可能很棘手,因...
我有一个jar文件,它是一个接受用户输入并对其进行处理的程序.我正在使用以下shell脚本运行此jar文件:PR=`basename $0`
cdt=`date +'%H:%M:%S %d/%m/%Y'`
cd $HOME/myprogram
java -cp $HOME/myprogram/ifxjdbc.jar:$HOME/myprogram/jarprogram.jar:. MyProgram $@
cdt=`date +'%H:%M:%S %d/%m/%Y'`我面临的问题是,我想使用以下命令的任意组合来限制用户退出应用程序.例如:Ctrl + z
Ctrl + c
Ctrl + break请帮我.解决方法:我...
我正在编写插件以便在Linux上重新启动服务器应用程序(尽管我正在OSX上进行测试).我这样做的方法是使用shell脚本,该脚本命令应用程序停止运行,然后监督进程的终止,并在时间到来时安全地启动一个新的进程.
当我从命令行手动执行脚本时,脚本即可工作.但是,当我从应用程序内部执行它时,shell进程与应用程序一起被杀死.
我尝试了两种不同的Java运行方法:String scriptArgs[] = {"sh", "restart.sh", "&"};try {Runtime.getRuntime().ex...