文件环境:
服务器A(文件源服务器) IP地址:192.168.1.100 端口:22 账号密码:home/123$456
生产环境:
服务器B(生产环境同步机) IP地址:10.0.1.10 端口:41122 账号密码:home/123$456
服务器C(生产环境目标机) IP地址:10.0.1.11 端口:41122 账号密码:home/123$456
网络安全描述:
生产环境仅有同步机能打通外部环境,且信息单向传输;
需要做的事情:
【文件源服务器】的版本文件,推送到【生产环境目标服务器】上,考虑到网络安全传输的单向原则,文件必须经过【生产环境目标机】
在【同步机10.0.1.10】执行的shell脚本样例:
expect <<-EOF
set timeout 7200# 从文件源服务器SCP拉取文件到生产环境的同步机
spawn scp -P 22 -r home@IP192.168.1.100:/data/temp_prop/1001/test.sh /data/temp_prop/1001
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password" { send "123\\\$456\r" }
}
expect eof
wait# 把同步机的文件通过SCP推送到生产环境的目标服务器上
spawn scp -P 41122 -r /data/temp_prop/1001/test.sh home@10.0.1.11:/data/deploy
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password" { send "123\\\$456\r" }
}
expect eof
wait# 对目标服务器上sh文件授权755权限
spawn ssh -p 41122 home@10.0.1.11 "chmod 755 /data/deploy/test.sh;"
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password" { send "123\\\$456\r" }
}
expect eof
EOF