我正在使用 mget 命令将 .txt 文件从一台服务器传输到另一台服务器。它已经工作了一年,但在过去的几周里,它有时会丢失文件。例如,昨天有 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