我有一个要处理FTP下载中发生的错误的任务,
为此,我使用了wget
命令从FTP下载文件,下载完成后,将下载的文件大小与FTP文件大小进行比较。
为此,我有以下代码。 我的问题是这是正确的方法吗?
从服务器获取文件详细信息,并仅从返回变量中提取数字
FileSizeOnServer=curl --max-time 10 -u $FTP_USER:$FTP_PASSWORD --head $FTP_Path 2>&1 | grep "Content-Length:"
echo "Present File Size Details:" $FileSizeOnServer
FTP_File_Size=${FileSizeOnServer#*: }
echo "FTP_File_Size:$FTP_File_Size"
仅获取本地文件大小
DownloadedFileSize=`stat -c %s /home/pi/Desktop/ABCD.txt`
echo "DownloadedFileSize:$DownloadedFileSize"
组合本地和ftp文件大小
if [ "$DownloadedFileSize" -eq "$FTP_File_Size" ]; then
echo "Size matched"
else
echo "File Size doesn't match Start Downloading again"
fi
代码如下
FileSizeOnServer=curl --max-time 10 -u $FTP_USER:$FTP_PASSWORD --head $FTP_Path 2>&1 | grep "Content-Length:"
echo "Present File Size Details:" $FileSizeOnServer
FTP_File_Size=${FileSizeOnServer#*: }
echo "FTP_File_Size:$FTP_File_Size"
DownloadedFileSize=`stat -c %s /home/pi/Desktop/ABCD.txt`
echo "DownloadedFileSize:$DownloadedFileSize"
if [ "$DownloadedFileSize" -eq "$FTP_File_Size" ]; then
echo "Size matched"
else
echo "File Size doesn't match Start Downloading again"
fi