Veröffentlicht 30. Oktober 200321 j Hi Ich habe vor ein Shell Script zu schreiben und hab da ein kleines Problem: Ich hab ein Verzeichnis mit mehreren Benutzernamen, also z.B. /home/user1 /home/user2 Ich will jetzt die Daten in dem Verzeichnis so packen, dass ich am Ende gepackte Dateien in dem Format habe: user1.tgz user2.tgz Kann mir da jemand weiterhelfen? Ich hab schon probiert einfach ein ls zu machen, mir das Ergebnis in eine Datei zu schreiben aber dann weiss ich nicht mehr weiter. Wie kann ich die Datei wieder auslesen und die Variablen passend setzen. Oder gibts da eine ganz einfach Lösung? Noxy
30. Oktober 200321 j Hey, schau Dir das hier mal an: "for i in /home/* do echo $i done " Diese MiniSchleife echoed alle Dateien/Unterverzeichnisse unter "/home*". Jetzt musst Du nur noch das echo durch den tar Befehl Deiner Wahl ersetzen. In der Variablen $i (Kannst Du natürlich auch anders nennen) steht dann jeweils eine Datei/Verzeichniss aus /home... Bye SystemError
4. November 200321 j Ich hab jetzt noch ein 2. Problem, bei dem mir vielleicht jemand helfen kann: Ich möchte nur die Datein vom letzen Tag in einer gepackten tar Datei haben, hat jemand eine Idee, wie das funktioniert? Heute ist der 04.11. also sollen alle Dateien vom 03.11 in der Datei sein. Thx Noxy
4. November 200321 j Hallo, Bei dem oben geposteten Skript handelt es sich um ein bash/sh Skript. Um Dateien mit einem bestimmten Datum zu suchen (und zu finden) bietet sich der Befehlt "find" an. Nach welchem Kriterium suchst Du denn, neu erzeugten Dateien, letztes Zugriffsdatum, letztes Modifikationsdatum? Da gibt es eine Menge Kombinationen. Nic
4. November 200321 j Also das ganze soll am Besten als bash/sh Script laufen und es sollen alle Dateien sein, die am Vortag erzeugt worden sind. Kann man das nicht ganz einfach erschlagen? Ich hätte nicht gedacht, dass es irgendwie kompliziert ist.
4. November 200321 j Hallo, so kompliziert ist das auch gar nicht: find . -daystart -mtime -1 Listet alle Files auf, die gestern modifiziert wurden. Problematisch dabei ist, dass auch "." gefunden wird. Bei einer Weiterverarbeitung mit "tar" werden aber Unterverzeichnisse mit "getarred". Aus dem Grund solltest Du noch mittels "-type f" z.B. nur reguläre Dateien verarbeiten (oder eben nicht ab "." suchen; hängt vom Anwendungszweck ab; Verzeichnisnamen sind aber generell ein Problem): find /home/user1 -daystart -mtime -1 -type f -exec tar cvf /tmp/user1.tar {} \; Wenn Du das ganze in einer Schleife laufen läßt (über Verzeichnis und Archiv-Namen) solltest Du Dein Skript eigentlich haben Nic
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.