Daether Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Hi, ich bräuchte nur ein kleines Shellskript zum Backup eines Ordners. Bis jetzt sieht das ganze so aus : #!/bin/bash rsync -avz root@xxx.xxx.xxx.xxx:/var/hier_liegt_mein_original/* /var/hier_liegt_mein_backup/ for i in `/var/hier_liegt_mein_backup/` ; do if [ $i älter als x Monate ] rm `/var/hier_liegt_mein_backup/`+$i ; fi done Das Skript sollte eigendlich nichts anderes machen, als den RSYNC ausführen und danach zu alte Dateien löschen. 1. Weiß ich nicht wie ich die "älter als"-Abfrage durchführen kann. 2. Bin ich mir nicht sicher ob die Zeile "rm `/var/hier_liegt_mein_backup/`+$i ;" so erlaubt ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Hi, mach das ganz mit dem find-Kommando. Alles andere ist supoptimal. ciao, vic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Hi, rsync kann auch deleten. Guck dir mal die Optionen an. Ansonsten würde ich dir find +mtime empfehlen, das ist meiner Meinung nach das Einfachste: Suche nach der Zeit mit find und mtime Mit Exec kannst du dann auf die gefundenen Dateien ein Kommando ausführen, in deinem Fall eben rm. Vorher evtl. mal mit ls anzeigen lassen, ob das auch die gewünschten Dateien sind, sonst kann es schonmal Ärger geben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Daether Geschrieben 1. Oktober 2007 Autor Teilen Geschrieben 1. Oktober 2007 Für exec würde ich ja wieder php nutzen. Geht das überhaupt nicht per Shellskript. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Hi, doch, man kann sich da was zusammenstricken. Aber wieso willst du selber was basteln, wenn es doch Standardwerkzeuge gibt, die das Problem eleganter, schneller und richtiger lösen? Exec ist eine Option im Find. Von PHP lese ich jetzt hier das erste Mal etwas. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 find /home/lupo49/ -name "foo.*" -mtime -40 | xargs rm Wobei 40 die Zeit in Minuten ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Hi, xargs? Wieso nicht rm im exec wie carstenj gesagt hat? Ne pipe ist unnötig. ciao, vic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Weil mit -exec bei sehr vielen tausend Dateien die Performance in die Knie geht! Die xargs-Variante ist Faktor 15x schneller. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Weil mit -exec bei sehr vielen tausend Dateien die Performance in die Knie geht! Die xargs-Variante ist Faktor 15x schneller. Genauer: Wenn du -exec verwendest, wird fuer jedes Loeschen einer Datei ein neuer Prozess erzeugt. Das ist ziemlich unperformant und wirkt sich bei vielen Dateien recht negativ aus. Das Programm xargs bastelt dir dynamisch den Parameter (die Dateien die geloescht werden sollen) zusammen und uebergibt ihn an rm. So das du mit einem einzigen rm-Prozess alle Dateien geloescht bekommst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 1. Oktober 2007 Teilen Geschrieben 1. Oktober 2007 Hi, alright - stimmt, ne gute Sache. Muss aber auch auf die Nachteile achten: iX 7/2001, S. 164: GNU-Tips ciao, vic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Daether Geschrieben 2. Oktober 2007 Autor Teilen Geschrieben 2. Oktober 2007 Ich danke euch für eure Hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.