find -mtime mit Pipe

  • So, ich glaube ich frustriere so langsam. Wo sind denn die Linux-Leute hier... Hoffe Ihr seit da etwas begabter dafür.

    Folgendes: Ich möchte Dateien mit einem bestimmten Alter haben. Soweit kein Problem:

    Code
    find /home/domain/public_html/bilder/ -mtime 0


    Das liefert mir exakt das, was ich möchte. Ca. 150 Dateien....

    So, nun brauche ich das aber eigentlich in Verbindung mit scp, aber das geht nicht, da die Kombination nicht möglich ist. Also dachte ich mir, ich packe das dann einfach in ein Archive und entpacke das dann auf dem anderen Server.

    Also einfach das ganze dann so gemacht:

    Code
    find /home/domain/public_html/bilder/ -mtime 0 | xargs tar rvf /home/domain/public_html/Backuptest.tar

    So, nun das Problem, dass in dem Mist-Archive eben nicht die Files mit mtime 0 drinnen sind, sondern ALLE über 400.000 Bilder!

    Hab es auch schon ohne Pipe und dafür mich -exec versucht, ist genau das gleiche Spiel.

    Code
    find /home/domain/public_html/bilder/ -mtime 0 -exec echo {} \;


    Liefert mir wieder die ca. 150 Files und zeigt sie an.

    Code
    find /home/domain/public_html/bilder/ -mtime 0 -exec tar rvf /home/domain/public_html/Backuptest2.tar {} \;


    Schreibt wieder ALLE in das Archive!


    Wo ist denn hier mein Denkfehler?

    Ok, wie dem fast immer so ist. Gestern die Nacht um die Ohren geschlagen, heute den ganzen Morgen und was ist, jetzt geht es.

    Du muss ganz dringend ein "-type f" mit rein, sondern liefert find auch Verzeichnisse. Das alleine ist noch gut, aber tar Packt dann das ganze Verzeichnis samt Inhalt, auch wenn da von x-tausend Files nur eines geändert wurde....

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Nee, geht nicht. Die Daten müssen von Server 1 nach Server 2. Da ist kein normaler Rechner dazwischen. Erste Übernahme sind alle Daten, das dauert aber ewig (ca. 450GB). Bis die drüben sind, können die auf Server 1 schon wieder geändert worden sein. Dann wird der Zugang gesperrt. Anschließend müssen dann nochmals alle rüber, aber eben nur die "neuen" und nicht nochmals alle 450GB. Dann wird der Zugang auf dem neuen Server freigegeben.

    Ansonsten sortieren.... Geht ohnehin nicht wirklich, da die Files auf ca. 6000 Ordner verteilt sind ;)

    Aber wie gesagt, wenn man beim find ein "-type f" mit reinnimmt, dann geht es. Das daraus entstehende tar.gz hat nur ca. 40 MB - wesentlich besser als 450GB :)

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(