CMD Script Wiederholen und überschreiben
Hallo zusammen,
Ich möchte gerne die Startup-Config und die Running-Config eines Aruba Switches täglich sichern, mit Timestamp.
Zusätzlich sollen die Dateien für 30 Tage vorgehalten werden in einen bestimmten Pfad kopiert werden und danach wieder nacheinander überschrieben werden.
mein script sieht wie folgt aus:
__________________________________________________
_________________________________________________________________________
Jetzt funktioniert das, aber ich möchte die Backups gern wie schon erwähnt nach und nach ab Tag 30 überschreiben, das funktioniert so leider noch nicht. Also ab Tag 31, das erste, ab Tag 32, das zweite usw.
Ich stecke gerade irgendwie fest ^^
Ich hoffe ihr könnt mir helfen.
Ich möchte gerne die Startup-Config und die Running-Config eines Aruba Switches täglich sichern, mit Timestamp.
Zusätzlich sollen die Dateien für 30 Tage vorgehalten werden in einen bestimmten Pfad kopiert werden und danach wieder nacheinander überschrieben werden.
mein script sieht wie folgt aus:
__________________________________________________
@echo off
echo Starting....
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
echo y | "pscp.exe" -v -P 22 -scp "@192.168.1.1:cfg/running-config" "c:\TestBackup\Switches\Backup_%DATETIMEF%_192.168.1.1_run.conf"
echo y | "pscp.exe" -v -P 22 -scp "@192.168.1.1:cfg/startup-config" "c:\TestBackup\Switches\Backup_%DATETIMEF%_192.168.1.1_start.conf"
echo DONE!
_________________________________________________________________________
Jetzt funktioniert das, aber ich möchte die Backups gern wie schon erwähnt nach und nach ab Tag 30 überschreiben, das funktioniert so leider noch nicht. Also ab Tag 31, das erste, ab Tag 32, das zweite usw.
Ich stecke gerade irgendwie fest ^^
Ich hoffe ihr könnt mir helfen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2977164383
Url: https://administrator.de/contentid/2977164383
Ausgedruckt am: 23.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
Das lässt sich einfach mit FOR und DIR realisieren.
"dir" seit die die entsprechednen Dateien an. Da die schon das Format YYYY_MM_DD... haben sollten Sie alphabetisch sein. Daher brauchst du eigentlich nur die Parameter /b /O-N um die eine Liste der Dateien in umgekehrter alphabetischer Reihenfolge anzuzeigen. Weitere Parameter zum Filtern gehen natürlich auch.
"Dir /b /O-N *_192.168.1.1_run.conf" listet dir also alle Dateien dieser Art auf, di eneusten zuerst. Diese Liste kannst Du dann in einer For-Schleife durch gehen und löschen. Die ersten 30 überspringst Du dabei.
Das Ganze sieht dann ungefär so aus:
Statt /O-N kannst du auch direkt nach Dateidatum sortieren. Das ist Geschmackssache.
Gruß
...
Das lässt sich einfach mit FOR und DIR realisieren.
"dir" seit die die entsprechednen Dateien an. Da die schon das Format YYYY_MM_DD... haben sollten Sie alphabetisch sein. Daher brauchst du eigentlich nur die Parameter /b /O-N um die eine Liste der Dateien in umgekehrter alphabetischer Reihenfolge anzuzeigen. Weitere Parameter zum Filtern gehen natürlich auch.
"Dir /b /O-N *_192.168.1.1_run.conf" listet dir also alle Dateien dieser Art auf, di eneusten zuerst. Diese Liste kannst Du dann in einer For-Schleife durch gehen und löschen. Die ersten 30 überspringst Du dabei.
Das Ganze sieht dann ungefär so aus:
FOR /F "skip=30 delims=" %%i in ('Dir /b /O-N *_192.168.1.1_run.conf') do del %%i
Das Ganze dann halt mit der Andern "_run.conf" Datei genau so.Statt /O-N kannst du auch direkt nach Dateidatum sortieren. Das ist Geschmackssache.
Gruß
...