Dateien nicht älter als 24h finden und archivieren

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von knumskull, 07.07.2008.

  1. #1 knumskull, 07.07.2008
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    Moin,

    ich versuche mich grad ein bisschen in backup-scripting. Leider scheitert es schon an der kleinsten Sache.

    Ich möchte, wie im Topic auch schon beschrieben, die Dateien, die in den letzten 24h angefasst wurden, archivieren.

    So ungefähr habe ich mir das gedacht.

    find /var/www/ -atime +1 -exec tar c {} \; | gzip | cat > output.tgz

    das läuft ja soweit durch, jedoch archiviert er nur die erste Datei die er findet. Kann mir jemand meinen Denkfehler sagen?

    Gruß Steffen
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 dosenfleisch, 07.07.2008
    dosenfleisch

    dosenfleisch Foren As

    Dabei seit:
    29.03.2007
    Beiträge:
    75
    Zustimmungen:
    0
    muß es nicht so heißen?
    Code:
    find /var/www/* -atime -1 
    
     
  4. #3 saeckereier, 08.07.2008
    Zuletzt bearbeitet: 08.07.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Manpage lesen ... exec wird pro Datei *einmal* ausgeführt.

    Andere Möglichkeiten:
    - xargs
    - tar jedes Mal die Datei anhängen lassen an das Archiv
    - tar eine Liste von Dateien übergeben (als Datei und nicht in der Kommandozeile)

    Die Manpages geben jeweils Aufschluss zu den Tools und Möglichkeiten.
     
  5. #4 knumskull, 08.07.2008
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    ich hab noch son paar problemchen mit piping ... gibts da nen gutes tutorial oder sowas, wo das ganze Thema gut beschrieben ist?

    Aber so richtig weiß ich nicht, was ich in den Man-Pages noch finden soll. Ich habe die wirklich schon öfters durchgeschaut.
     
  6. #5 Aqualung, 08.07.2008
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    So etwa:

    Code:
    find /var/www/  -ctime -1  -print0 | xargs -0 tar cvfj output.tar.bz2 -
    BTW: Nur ein Prob. pro thread.
     
  7. #6 Wolfgang, 08.07.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Hinweise zur PIPE findest du in der Manpage deiner (hier nicht genannten) verwendeten Shell.
    Um das richtig zu verstehen, kannst du in einer beliebigen Suchmaschine nach Begriffen wie pipe redirect u.ä forschen. ;)
    In deinem Fall gilt das auch für dein verwendetes tar.

    tar kann auch Dateien anhängen, allerdings ohne Komprimierung.

    Code:
    find /path -type f -exec tar -rf /path/archiv.tar {} \;
    
    Gruß Wolfgang
     
  8. #7 saeckereier, 08.07.2008
    Zuletzt bearbeitet: 08.07.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Schau mal in der Manpage von tar den Parameter -T an.. Das xarg Modell hat wahrscheinlich das Problem, dass das nur mit einer kleinen Menge von Dateien geht. Ansonsten haben aqualung und Wolfgang dir aber schon 2 von den 3 genannten Möglichkeiten erklärt.

    Das Problem bei xargs ist wie gesagt, dass das -glaube ich- ab einer bestimmten Menge von Dateien nicht mehr funktioniert.

    Bei der zweiten Variante wird für jede Datei ein neuer tar Prozess gestartet, dass kann bei vielen kleinen Dateien sehr gemein auf die Laufzeit schlagen.
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Übrigens ist das kein Problem mit dem Piping, das war schon prinzipiell richtig. Der Denkfehler ist eben, dass du nicht mehrmals tar laufen lassen kannst und dann das nachher komprimierst. Wichtig: "| cat > " Ist total überflüssig und kann durch > ersetzt werden.
     
  9. #8 knumskull, 08.07.2008
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    das sind schonmal gute hinweise ... werde ich mal schauen und dementsprechend weiter testen. Danke erstmal.

    Shell ist ne bash. Sorry - man wird vergesslich. Ich schreibs mir auf ;)
     
  10. #9 dosenfleisch, 08.07.2008
    dosenfleisch

    dosenfleisch Foren As

    Dabei seit:
    29.03.2007
    Beiträge:
    75
    Zustimmungen:
    0
    dein ergebnis würde mich interessieren.
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. #10 knumskull, 08.07.2008
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    keine Angst, das poste ich. Wenn ich Zeit habe weiter zu machen. Wird wahrscheinlich frühestens morgen abend was.
     
  13. #11 tuxlover, 09.07.2008
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hallo knusmull, ohne jetzt mal wieder werbung machen zu wollen. schau dir mal meinen thread an oder zieh dir das advanced bash scripting guide rein.

    in meinen bashtools findest du ein backupscript, welches genau das leistet was du suchst. es basiert auf einem script das ich dem ABS entnommen habe.

    ich hoffe ich konnte helfen

    grüße tuxlover
     
Thema:

Dateien nicht älter als 24h finden und archivieren

Die Seite wird geladen...

Dateien nicht älter als 24h finden und archivieren - Ähnliche Themen

  1. Rechte beim Anlegen von Dateien via Samba-Client nicht korrekt gesetzt

    Rechte beim Anlegen von Dateien via Samba-Client nicht korrekt gesetzt: Hallo, ich habe einen Samba-Server aufgesetzt und die beiden im Folgenden beschriebenen Freigaben in der smb.conf definiert. Neu angelegte...
  2. Schleife zum einlesen vieler Dateien funktioniert nicht

    Schleife zum einlesen vieler Dateien funktioniert nicht: [gelöst] Schleife zum einlesen vieler Dateien funktioniert nicht Hallo Leute, ich habe ein kleines Problem. Mein Script zerlegt eine große...
  3. ZFS filesystem voll, dateien können nicht gelöscht werden

    ZFS filesystem voll, dateien können nicht gelöscht werden: Hallo zusammen! Ich habe heute aus Testgründen bei einem Testsystem folgendes gemacht: mkfile 100G /opt/sis (oder so ähnlich). :think:, fragt...
  4. Dateien werden nach Verschieben nicht mehr angezeigt

    Dateien werden nach Verschieben nicht mehr angezeigt: Hallo, folgendes Problem habe ich mit meinem SAMBA-Server: Nachdem ich in einem eingebundenen Netzlaufwerk einige Dateien hin- und hergeschoben...
  5. Skript zum Ändern von Zugriffsrechten auf Ordner aber nicht Dateien

    Skript zum Ändern von Zugriffsrechten auf Ordner aber nicht Dateien: Hallo zusammen, bin noch ziemlich am Anfang der Shell-Skripte. Ist es möglich ein Skript zu schreiben das die Zugriffsrechte eines...