У меня есть задача, в которой я хочу обработать ошибку, возникшую при загрузке с 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