【发布时间】:2014-04-30 17:48:40
【问题描述】:
我在分布式系统上工作,我的程序已经完成,我已经对其进行了测试,它在 10 台机器上运行良好,但每次我想测试程序时,我都必须: - 为每台机器复制文件 - ssh 到每台机器并输入“java -jar 文件”
为了避免这个痛苦的过程,我做了这个
for i in {1..11}
do
if [ $i -ne 6 ];
then
sshpass -p "qwerty" scp myJar.jar user@l040101-ws$i.XXXX.XX.XX:someFolder;
sshpass -p "qwerty" ssh user@l040101-ws$i.XXXX.XX.XX "java -jar someFolder/myJar.jar &" &
fi
done
由于某种原因,它无法正常工作,scp 命令按应有的方式执行,但另一个没有。
该程序应该生成一个包含 2 个日志的文件夹,如果我手动执行它会生成,所以我猜不是权限问题,但不是脚本问题。 奇怪的是,如果我运行 top,我可以看到每台机器上运行的 java 进程。
顺便说一句:这两个 & 是所以脚本在运行每个 jar 后不会卡住
【问题讨论】:
-
IP和
"java之间没有空格吗? -
复制粘贴错误,现已修复
标签: java bash remote-access