linux远程登陆其他主机并执行命令的若干方式
一、命令行登陆
ssh后,一定后边加双引号 写命令,否则命令实在本地执行的,多条命令的话用双引号隔开,
1
|
ssh user @remoteNode "cd /home ; ls" |
二、脚本登陆
1
2
3
4
5
6
|
#!/bin/bash ssh root @192 .168. 0.23 << remotessh killall - 9 java cd /data/apache-tomcat- 7.0 . 53 /webapps/ exit remotessh |
不产生日志
1
|
ssh root @192 .168. 0.23 > /dev/ null 2 >& 1 << remotessh |
三、提高
不同远端机器上执行同一条命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#!/bin/bash #变量定义 ip_array=( "192.168.1.1" "192.168.1.2" "192.168.1.3" ) user= "test1" remote_cmd= "/home/test/1.sh" #本地通过ssh执行远程服务器的脚本 for ip in ${ip_array[*]} do if [ $ip = "192.168.1.1" ]; then port= "7777" else port= "22" fi ssh -t -p $port $user @$ip "remote_cmd" done |