У меня есть пакетный скрипт, который запускается ежечасно. Он подключается к FTP-серверу, загружает файл резервной копии, затем удаляет самую старую резервную копию (по умолчанию резервные копии хранятся в течение 4 часов). Это должно защитить наши объекты от потери соединения. Мне стало известно, что объект потерял свой интернет и не смог использовать эти резервные копии, потому что сценарий удалил все старые через 4 часа после разрыва соединения. Как я могу изменить этот скрипт, чтобы ТОЛЬКО удалить самую старую резервную копию, ЕСЛИ загружена новая?

echo off

set FTPADDRESS=[omitted]
set FTPLOGIN=[omitted]
set FTPPASSWORD=[omitted]
set DIRECTORY=[omitted]

set BACKUP_FILE=emar_backup.zip
set DELETE_OLD_FILES_MIN=240

echo cd %DIRECTORY% > commands.txt
echo get %BACKUP_FILE% .\downloads\%BACKUP_FILE% >> commands.txt
echo put receipt.txt >> commands.txt
echo bye >> commands.txt

for /f "tokens=1 delims=" %%A in ('cscript //nologo getdate.vbs') do SET yymmdd_hhmmss=%%A

psftp.exe -2 -batch -b commands.txt -l %FTPLOGIN% -pw %FTPPASSWORD% %FTPADDRESS% > .\logs\lastlog.txt

cd downloads
if exist %BACKUP_FILE% ren %BACKUP_FILE% %BACKUP_FILE%-%yymmdd_hhmmss%.zip
..\DelOld.exe /f=* /m=%DELETE_OLD_FILES_MIN%
cd ..

Заранее спасибо за все, что вы можете внести свой вклад!

0