今天项目中用到linux中rsh方式调用远程一台linux机器中的shell脚本。
机器一: 10.90.172.11 SteelTrade-app
机器二: 10.90.172.12 SteelTrade-db
问题: 机器一中的一个脚本访问机器二中的一个脚本
即: remote_pick.sh
[deploy@SteelTrade-app xl]$ cat remote_pick.sh
#!/bin/bash
echo "连接到数据库系统"
REMOTE_IP=10.90.172.12; export REMOTE_IP
REMOTE_SP_PATH=/VPFTP/SCRIPT_VP/XL;export REMOTE_SP_PATH
REMOTE_USER=autosys; export REMOTE_USER
echo "开始通过RSH方式连接"
echo `date` >pick.log
/usr/bin/rsh -l autosys 10.90.172.12 $REMOTE_SP_PATH/hand_pick.sh > pick.log
#!/bin/bash
echo "连接到数据库系统"
REMOTE_IP=10.90.172.12; export REMOTE_IP
REMOTE_SP_PATH=/VPFTP/SCRIPT_VP/XL;export REMOTE_SP_PATH
REMOTE_USER=autosys; export REMOTE_USER
echo "开始通过RSH方式连接"
echo `date` >pick.log
/usr/bin/rsh -l autosys 10.90.172.12 $REMOTE_SP_PATH/hand_pick.sh > pick.log
echo "完"
通过rsh方式访问机器二中$REMOTE_SP_PATH/hand_pick.sh 脚本。
如果没有互信关系,rsh总是提示输入密码。这样就不能自动执行脚本,不过用一些其他的方式也可以实现自动输入密码。不过很复杂。这里我介绍一种方式就是在机器二中加入机器一的信任关系,方法如下:
机器一中的weblogic用户访问机器二中autosys用户的脚本
(1) 在两台机器中的/etc/hosts中加入
10.90.172.11 SteelTrade-app
10.90.172.12 SteelTrade-db
10.90.172.12 SteelTrade-db
(2) 在机器二中登陆用户下新建一个.rhosts
-rw-r--r-- 1 autosys dba 46 Nov 5 20:46 .rhosts
在。rhosts文件中加入
SteelTrade-app weblogic
(3)赋予脚本其他用户具有执行的权限
就这么简单。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7551038/viewspace-618248/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7551038/viewspace-618248/