我是UNIX新手。需要帮助找到发送文件的正确方法。
我必须发送1gb的大文件,手动sftp所需的时间大约是10分钟,我们已经尝试了以下脚本,因为我们必须使用密码登录。
此处的问题是在完全传输文件之前。该脚本来自SFTP连接,没有错误。
脚本:
` spawn sftp DataStageIM2@192.168.79.15
DataStageIM2@192.168.79.15's password:
Connected to 192.168.79.15.
sftp> cd /users/StoreStockManagement/ReferenceData/Inbound
sftp> lcd /staging/oretail/external/data/DSPRD/Output/Pricing/INT340
sftp> mput hhtstore_price.dat
Uploading hhtstore_price.dat to /users/StoreStockManagement/ReferenceData/Inbound/hhtstore_price.dat
hhtstore_price.dat 3% 189MB 18.1MB/s 04:31 ETA+ [[ 0 -ne 0 ]]`
记录:
go = function() {
print.innerHTML = facts[i];
i = (i + 1) % (facts.length);
}
- 在传输3%的文件后,这个脚本出来了,我在那里看不到文件。但是,当我手动尝试sftp它正在工作。只有脚本才能复制。
有人可以帮助吗
答案 0 :(得分:0)
IEndpointBehavior
命令的默认超时值为10秒。因此,在expect
之后,期望等待10秒钟才能看到提示,然后超时,然后继续使用脚本。
显然,您希望根据需要等待传输文件的日志,因此请将其添加到您的脚本中:
put