linux中登录远程主机,LinuxSSH登录远程主机并执行脚本

两台Centos6.5 64位主机: N206 N203N206的export.sh,远程执行N203主机上/root/share.sh脚本#!/bin/bash source ~/.bash_profile# 匹配提示符 CMD_

两台Centos6.5 64位主机: N206 N203

N206的export.sh,远程执行N203主机上/root/share.sh脚本

#!/bin/bash

source ~/.bash_profile

# 匹配提示符

CMD_PROMPT="\](\$|#)"

# 要执行的脚本

script="/root/share.sh"

username="root"

host="192.168.0.203"

port=22

expect -c "

send_user connecting\ to\ $host...\r

spawn ssh $username@$host

expect -re $CMD_PROMPT

send -- $script\r

expect -re $CMD_PROMPT

exit

"

echo "\r"

--------------------------------------------------------------

N203的share.sh

#!/bin/bash

date=`date +"%Y%m%d"`

ldate=`date +"%Y%m%d%H%M"`

#在挂载点/mnt/share新建以时间为名的目录

mkdir -p /mnt/share/$date/$ldate/

#从N026本地拷贝文件到挂载点

cp /usr/local/tomcat7/webapps/dt.war /mnt/share//$date/$ldate/

cp /usr/local/tomcat7/webapps/manage.war /mnt/share/$date/$ldate/

cp -r /usr/local/tomcat7/webapps/dt-web /mnt/share/$date/$ldate/

#1

cd /jar/mss/

zip lib.zip lib/*

cp lib.zip /mnt/share/$date/$ldate/

cp mss-provider.jar /mnt/share/$date/$ldate/

#2

cd /jar/mss-task/

zip lib-task.zip lib/*

cp lib-task.zip /mnt/share/$date/$ldate/

cp mss-task-provider.jar /mnt/share/$date/$ldate/

cd /jar/mss-wms/

zip lib-wms.zip lib/*

cp lib-wms.zip /mnt/share/$date/$ldate/

直接在N203上执行share.sh脚本,脚本可以完整跑完

N206和N203已设置密钥登录,并且共享公钥和私钥。

但是通过N206执行export.sh调用远程N203上的share.sh脚本,脚本只执行了部分命令。停在#2处

请各位帮我分析一下,是什么原因,怎么解决呢?

billow

2016/12/15 15:20

用echo打印一下各命令的输出就知道了

不知一个

2016/12/15 16:54

echo `zip logs.zip logs/*`

这样子吗?

cloudman运维

06/19 17:42

除了SSH,可以试试主机远程工具 云帮手

欢乐马在开源

昨天 15:09

云帮手是一款管理云服务器的软件,集成了批量管理多台云服务器,远程处理主机文件,跨云管理兼容windows和Linux系统,还有系统修复和资源告警的全面型云管理软件。

de9d599e45f146987ac6363164da1247.png

www378660084

昨天 16:58

直接scp,然后ssh执行脚本不就行了么?发个文件怎么搞这么麻烦.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值