shell中使用ssh登陆到另一台主机后执行相应的命令
在A主机通过ssh方式登录到B主机:ssh 用户名@目的主机地址
Eg:ssh chenpeng@192.168.8.21
当A主机的用户user1同样以user1身份登陆到B主机时(其实是巧合,A主机的登陆用户和B主机的用户名称相同),可以简写成:
ssh 主机名
Eg:ssh chenpeng@192.168.8.21 <==> ssh bigdata-namenode注:bigdata-namenode为主机名,所对应的ip地址为:192.168.8.21
在A主机通过ssh方式登录到B主机后执行相应的命令或者脚本:
ssh 用户名@目的主机地址 ‘要执行的命令或者脚本’
注意:
在调用脚本时,必须写全该脚本所在的全路径。
要执行的命令用单引号’ ’扩起来,引号扩起来的命令要和前面的内容写在一行,不能换行。
Eg:#登陆到192.168.8.21主机上执行如下操作:启动redis和webserver
#启动redis数据库
ssh chenpeng@192.168.8.21 '/usr/local/redis/redis-cli shutdown;/usr/local/redis/redis-server /etc/redis/redis.conf'
#tomcat的关闭和启动不能放在一起,要分开ssh登陆执行,否则会报错
ssh chenpeng@192.168.8.21 '/opt/apache-tomcat-6.0.37/bin/shutdown.sh'
ssh chenpeng@192.168.8.21 '/opt/apache-tomcat-6.0.37/bin/startup.sh'