Linux mget有时不会下载所有文件

Linux mget有时不会下载所有文件,linux,shell,unix,mget,Linux,Shell,Unix,Mget,我正在使用mget命令将.txt文件从一台服务器FTP到另一台服务器。一年来,它一直运行良好,但在过去几周,它有时会丢失文件。e、 g昨天服务器上放了74个文件,我们只下载了24个,会话关闭。我无法找出导致此问题的确切原因。下面是部分代码。多谢各位 cd $INCOMING_DIR expect -c " spawn sftp $RUSER@$RHOST expect \"password\" send \"$RPAWD\r\" expect \"cd\" send \"cd $RDIR\r\

我正在使用mget命令将.txt文件从一台服务器FTP到另一台服务器。一年来,它一直运行良好,但在过去几周,它有时会丢失文件。e、 g昨天服务器上放了74个文件,我们只下载了24个,会话关闭。我无法找出导致此问题的确切原因。下面是部分代码。多谢各位

cd $INCOMING_DIR 
expect -c "
spawn sftp $RUSER@$RHOST
expect \"password\"
send \"$RPAWD\r\"
expect \"cd\"
send \"cd $RDIR\r\"
expect \"mget\"
send \"mget *.txt\r\"
expect \"bye\"
send \"bye\r\"
interact "
retcode=`echo $?`
if [ $retcode -eq 0 ]
then
FCOUNT=`ls *.txt 2>/dev/null|wc -l`
if [ $FCOUNT -gt 0 ]
then
echo "Got invoice files successfully."
echo "Removing the files from remote directory."
expect -c "
spawn sftp $RUSER@$RHOST
expect \"password\"
send \"$RPAWD\r\"
expect \"cd\"
send \"cd $RDIR\r\"
expect \"rm\"
send \"rm *.txt\r\"
expect \"bye\"
send \"bye\r\"
interact "
else
echo "There are no data files."
fi 

你为什么使用expect呢?只是
sftp-e’cd$RDIR;rm*.txt'
?让您的系统管理员检查任何适当的日志
(s)ftp
服务器可以配置为只允许X时间量的连接,因此,可能您的系统已更改,或者文件更大,或者在读取文件时导致“暂停”,从而导致超时。同意
-e
sftp
的合适选项,但如果
expect
是您的
mget
问题的原因,我会感到惊讶。祝你好运