轉載 http://blog.csdn.net/chenpy/article/details/43969967 html
常常要部署多臺服務器上面的應用,若是一個個機器的登陸太麻煩。java
全部就想到編寫一個腳原本部署不一樣的服務器web
前提條件:apache
配置ssh免登錄
tomcat
若是不會的請參加個人另一篇文章 http://blog.csdn.net/chenpy/article/details/30281515bash
(1)命令行執行登陸而且在目標服務器上執行命令服務器
[java] view plaincopyapp
ssh user@remoteNode "cd /home ; ls" ssh
基本能完成經常使用的對於遠程節點的管理了,幾個注意的點:
webapp
雙引號,必須有。若是不加雙引號,第二個ls命令在本地執行
分號,兩個命令之間用分號隔開
(2)腳本的方式
這個正式我想要的方式,在目標服務器上執行批量的命令。
[java] view plaincopy
#!/bin/bash
ssh root@192 .168.0.23 << remotessh
killall -9 java
cd /data/apache-tomcat-7.0.53/webapps/
exit
remotessh
遠程執行的內容在「<< remotessh 」 至「 remotessh 」之間,在遠程機器上的操做就位於其中,注意的點:<< remotessh,ssh後直到遇到remotessh這樣的內容結束,remotessh能夠隨便修改爲其餘形式。在結束前,加exit退出遠程節點
若是不想日誌文件在本機出現能夠修改配置
[html] view plaincopy
ssh root@192.168.0.23 > /dev/null 2>&1 << remotessh
OK,大功告成。
參考文檔:http://www.cnblogs.com/ilfmonday/p/ShellRemote.html