spawn scp免密码相互拷贝文件(机器1<=>机器2)
登录上机器 1
安装 yum install expect
一、新建test.sh(机器1拷贝到机器2)
set ip [lindex $argv 0]
set password [lindex $argv 1]
set timeout -1
spawn scp -o StrictHostKeyChecking=no -P 22 -r /public/AIDATA/gpu_config/liunxGpu.xml root@$ip:/public/AIDATA/gpu_config/
expect {
"(yes/no)?" {
send "yes\n"
expect "*assword:" { send "$password\n"}
}
"*assword:" {
send "$password\n"
}
}
expect eof
执行test脚本文件,并传入参数相关参数,每个参数空格隔开
expect /var/test.sh 192.168.100.110 123456
二、新建test1.sh(机器2拷贝到机器1)
set ip [lindex $argv 0]
set password [lindex $argv 1]
set datasetUrl [lindex $argv 2]
set timeout -1
spawn scp -o StrictHostKeyChecking=no -P 22 -r root@$ip:$datasetUrl $datasetUrl
expect {
"(yes/no)?" {
send "yes\n"
expect "*assword:" { send "$password\n"}
}
"*assword:" {
send "$password\n"
}
}
expect eof
执行test1.sh脚本文件,并传入参数相关参数,每个参数空格隔开
expect /var/test1.sh 192.168.100.111 123456 /var/xxx.txt