在完成文件传输之前,SFTP到另一台服务器不会完全发送文件并转移到下一个命令

时间:2017-09-01 09:49:04

标签: shell unix sftp wait sleep

我是UNIX新手。需要帮助找到发送文件的正确方法。

我必须发送一个1gb的大文件,手动sftp需要大约10分钟,我们尝试了下面的脚本,因为我们必须使用密码登录。

此处的问题是在完全传输文件之前。该脚本来自SFTP连接,没有错误。

脚本:     期待-c"         spawn sftp $ {remote_user} @ $ {remote_host}         期待\"密码\"         发送$ {remote_pswd} \ r \ n         期待sftp>         发送\" cd $ {remote_path} \ r \"         期待sftp>         发送\" lcd $ {source_path} \ r \"         期待sftp>         发送\"把$ {source_file} \ r \"         期待sftp>         发送\" !睡10 \ r \"         期待sftp>
        发送\" bye \" "

日志:         spawn sftp DataStageIM2@192.168.79.15 DataStageIM2@192.168.79.15' s密码: 连接到192.168.79.15。 $(document).ready(function(){ if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { $('.fullscreen').attr('data-vide-bg', 'homepages/portfolio/video/mobile'); }; });  SFTP> lcd / staging / oretail / external / data / DSPRD / Output / Pricing / INT340  SFTP> mput hhtstore_price.dat  将hhtstore_price.dat上传到/users/StoreStockManagement/ReferenceData/Inbound/hhtstore_price.dat hhtstore_price.dat 3%189MB 18.1MB / s
04:31 ETA + [[0 -ne 0]]`

- 在传输3%的文件后,这个脚本出来了,我在那里看不到文件。但是,当我手动尝试sftp它正在工作。只有脚本才能复制。

有人可以帮助吗

1 个答案:

答案 0 :(得分:0)

您可以在脚本中使用以下代码:

pass ${FileName} in this function 
sftp ${REMOTE_USER}@${REMOTE_HOST} cd  ${REMOTE_DIR} mput 
${SOURCE_LOC}${FileName}ls -lrt bye
相关问题