Eu tenho um script em lotes que é executado por hora. Ele se conecta a um servidor FTP, faz o download de um arquivo de backup e, em seguida, exclui o backup mais antigo (os backups são mantidos por 4 horas por padrão). Isso deve isolar nossas instalações de uma perda de conexão. Foi trazido à minha atenção que uma instalação perdeu sua internet e não pôde fazer uso desses backups porque o script excluiu todos os antigos 4 horas depois que a conexão foi interrompida. Como posso modificar esse script para APENAS excluir o backup mais antigo, se um novo for baixado?
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 ..
Agradecemos antecipadamente por qualquer coisa que você possa contribuir!