Batch: cadangan, lalu hapus cadangan yang lama


0

Saya memiliki skrip batch yang berjalan setiap jam. Terhubung ke server FTP, unduh file cadangan, lalu hapus cadangan terlama (cadangan disimpan selama 4 jam secara default). Ini seharusnya melindungi fasilitas kami dari kehilangan koneksi. Saya mendapat perhatian bahwa sebuah fasilitas kehilangan internet mereka dan tidak dapat menggunakan cadangan ini karena skrip telah menghapus semua yang lama 4 jam setelah koneksi turun. Bagaimana saya bisa memodifikasi skrip ini untuk HANYA menghapus cadangan terlama JIKA yang baru diunduh?

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 ..

Terima kasih sebelumnya atas segala hal yang dapat Anda sumbangkan!


Saya bingung bagaimana saya bisa membedakan cadangan LAMA dari BARU. Anda dapat melihat di beberapa baris terakhir bahwa itu mengubah nama cadangan BARU dengan memanggil tanggal / waktu ... jadi jika saya memanggil tanggal dan waktu saat ini di baris berikutnya (juga menambahkan 'jika' untuk penghapusan bersyarat ), tidakkah tanggal / waktu akan salah? DelOld.exe agak mengacaukan seluruh proses, yang saya tidak punya kendali atas.
Wutnaut

Mungkin aku terlalu memikirkan ini. Akankah ini berhasil? jika ada% BACKUP_FILE% -% yymmdd_hhmmss% .zip (.. \ DelOld.exe / f = * / m =% DELETE_OLD_FILES_MIN%)
Wutnaut
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.