expect+scp传输文件发现文件丢失
背景
使用expect+scp去跨机器传输文件,(别问我为什么,因为公司的测试机器都是通过堡垒机的,无法绕开堡垒机,只能暂时使用这个方法了),结果发现从A传递到B的tar.gz文件大小不一致了的,当时心里MMP了
步骤
1. 发现不是每次都会丢失文件,理论上网络稳不稳定只会造成传输时间的不同罢了;
2. 查阅资料发现expect的默认时间是30s,所以如果操作了30s的话,就会自行链接,原来如此;
3. 修改默认的连接时间为-1,就是说无限长的时间,具体如下:
/usr/local/bin/expect <<EOF set time -1