Wie kann ich FTP-Dateien auf Backup-Server je nach restlichem Speicherplatz löschen?
Hallo!
Ich setze schon seit längerem ein FTP-Script ein, um von bestimmten Verzeichnissen meines Linux-Servers ein Backup zu erstellen. Die tar.gz-Datei (ca. 1GB, da ändert sich wenig an der Größe) wird dann per FTP auf einen zweiten Server gespeichert, der rund 40GB Platz frei hat. Das funktioniert gut, aber mir fehlt noch der letzte Kniff: Wie kann ich bei jedem Aufruf des Scripts die jeweils ältesten Files löschen - am besten so, daß eine vorgegebene Menge Speicherplatz (idealerweise etwas größer als die zu sichernde Datei) freigeben wird? Damit würde der Backup-Server zu einem FIFO-Speicher werden und hätte automatisch immer ca. 30 alte Backups parat.
Danke im Voraus!
Oliver
Ich setze schon seit längerem ein FTP-Script ein, um von bestimmten Verzeichnissen meines Linux-Servers ein Backup zu erstellen. Die tar.gz-Datei (ca. 1GB, da ändert sich wenig an der Größe) wird dann per FTP auf einen zweiten Server gespeichert, der rund 40GB Platz frei hat. Das funktioniert gut, aber mir fehlt noch der letzte Kniff: Wie kann ich bei jedem Aufruf des Scripts die jeweils ältesten Files löschen - am besten so, daß eine vorgegebene Menge Speicherplatz (idealerweise etwas größer als die zu sichernde Datei) freigeben wird? Damit würde der Backup-Server zu einem FIFO-Speicher werden und hätte automatisch immer ca. 30 alte Backups parat.
Danke im Voraus!
Oliver
Please also mark the comments that contributed to the solution of the article
Content-Key: 172618
Url: https://administrator.de/contentid/172618
Printed on: April 25, 2024 at 17:04 o'clock
5 Comments
Latest comment
Hallo oradke.
Ich bin nicht besonders bewandert in Sachen FTP, aber es gibt doch die DIR Funktion, die dir unter anderem auch die Größe der Dateien/Verzeichnisse ausgibt. Es besteht die Möglichkeit das ganze in eine lokale Datei umzuleiten und dann (je nach Afbau der Zeilen, da müsstest du noch mal aushelfen) diese aufzusummieren.
Für den ersten Teil etwa so:
Grüße
rubberman
Ich bin nicht besonders bewandert in Sachen FTP, aber es gibt doch die DIR Funktion, die dir unter anderem auch die Größe der Dateien/Verzeichnisse ausgibt. Es besteht die Möglichkeit das ganze in eine lokale Datei umzuleiten und dann (je nach Afbau der Zeilen, da müsstest du noch mal aushelfen) diese aufzusummieren.
Für den ersten Teil etwa so:
@echo off &setlocal
(
echo open oradke.de
echo MyUserName
echo MyPassword
echo dir "FTPRemoteDir" "D:\irgendwo\dir.txt"
echo disconnect
echo bye
)>"%temp%\test.ftp"
ftp.exe -i -s:"%temp%\test.ftp"
del "%temp%\test.ftp"
start "" notepad "D:\irgendwo\dir.txt"
Grüße
rubberman
Dannmachst Du es so wie rubberman angedeutet hat.
Hole Dir das verzeichnis, sortiere es und such Dir dann den letzten oder esten (jenachdem, wie Du sortiert hast) raus und erstelle damit ein ftp-kommando zum löschen, den Du dann wieder per ftp-skript zum server schickst. Das soltle nach den Hinweise hiernur noch eine Fingerübung sein.
Hole Dir das verzeichnis, sortiere es und such Dir dann den letzten oder esten (jenachdem, wie Du sortiert hast) raus und erstelle damit ein ftp-kommando zum löschen, den Du dann wieder per ftp-skript zum server schickst. Das soltle nach den Hinweise hiernur noch eine Fingerübung sein.