两台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系统,还有系统修复和资源告警的全面型云管理软件。
www378660084
昨天 16:58
直接scp,然后ssh执行脚本不就行了么?发个文件怎么搞这么麻烦.