请SHELL高手帮个忙

shenjj110 2012-03-13 05:21:59
小弟,需要用shell实现从本地机AIX向远程机上传文件,需要跳4个主机,意思是:先从A主机FTP文件给B主机,然后使用telnet远程登录到B主机,然后同样的,从B主机FTP文件给C主机,再使用TELNET从B主机登录到C主机;
以上是需要实现的事情,用手动打命令,一次都能实现;
现在问题是,如果写个SHELL,SHELL执行到从A机TELNET到B机的时候,TELNET成功,可是FTP死活就是被DENIED掉,是不是当SHELL执行TELNET后,会自动中止脚本的执行?又或者SHELL没有权限登录到异地主机执行本机命令?
附:3台主机OS和硬件环境完全相同,都是AIX
请求SHELL高手帮忙,急!
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenjj110 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icechenbing 的回复:]
你的shell程序是怎么写的?
[/Quote]
#!bin/sh
hostname1=192.168.100.202
hostname2=35.1.11.3
hostname3=35.1.11.2
hostname4=10.1.13.200
user1=msposp
password1=msposp
user2=icfe
password2=icfe
user3=icfe
password3=icfe
user4=posp
user4=posp
#先连接100.202 上传文件到CD目录下
ftp -i -v -n $hostname1 <<END_FTP
user $user1 $password1
binary
put $1
END_FTP
#(sleep 3;echo $user1;sleep 3; echo $password1;sleep 3;ftp -i -v -n $hostname2 ;sleep 3 ;)|telnet $hostname1
telnet $hostname1
echo "$user1\r"
echo "$password1\r"
#连接到35.1.11.3
ftp -i -v -n $hostname2 <<END_FTP
user $user2 $password2
binary
put $1
END_FTP
(sleep 3;echo $user2;sleep 3; echo $password2;sleep 3)|telnet $hostname2


#连接到35.1.11.2
ftp -i -v -n $hostname3 <<END_FTP
user $user3 $password3
binary
put $1
END_FTP
telnet $hostname3 <<EOF
$user3
$password3
EOF
#连接到10.1.13.200
ftp -i -v -n $hostname4 <<END_FTP
user $user4 $password4
binary
put $1
bye
END_FTP
恨天低 2012-03-13
  • 打赏
  • 举报
回复
你的shell程序是怎么写的?

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧