最近在做一个检测脚本,并发送日志到相关服务器。脚本测试正常,且日志发送正常,遂加入crontab
但是在crontab中无法,执行。逐一检查crontab运行状态、脚本执行权限、环境变量等等,均正常,脚本还是无法执行。
后来发现一帖子,说scp.exp有问题
如下为:scp.exp
#!/usr/bin/expect -f
set CMD0 [lindex $argv 0]
set CMD1 [lindex $argv 1]
set PASS "[email protected]"
spawn scp -r $CMD0 $CMD1
set timeout 10
expect {
"*(yes/no)*" { send "yes\r" }
"*password*" { send "${PASS}\r" }
}
interact
最后scp.exp停留在交互上,而密码无法输入,一直失败。必须终止交互
遂修改scp.exp成功
修改如下
#!/usr/bin/expect -f
set CMD0 [lindex $argv 0]
set CMD1 [lindex $argv 1]
set PASS "[email protected]"
spawn scp -r $CMD0 $CMD1
expect {
"*(yes/no)*" { send "yes\r" }
"*password*" { send "${PASS}\r" }
}
#interact
set timeout 20
expect eof
exit
时间: 2024-10-28 16:02:10