"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Dateien verschieben + Ordnerstruktur Konsistent

NyoMic 09.07.2009 - 11:02 900 2
Posts

NyoMic

xepera-xeper-xeperu
Avatar
Registered: Feb 2001
Location: Stahlstadt
Posts: 2613
Ich bräuchte eure Hilfe.
Ich soll von einem Ordner (der weiters noch zahlreiche Unterordner beherbergt) alle Dateien auf eine 2. Festplatte verschieben welche älter als 10 Tage sind (last access). Soweit so gut:

find . -atime +10 -type f -exec mv {} TMP

TMP steht hier für den Ordner auf der 2. Festplatte. Das alles wäre ja noch kein Problem. Nur verschiebe ich damit alle Dateien die vorher brav in eigene Unterordner verteilt waren, in den Ordner TMP, d.h alle sind nun in einem Verzeichnis. Ich brauche daher eine Lösung, die Ordnerstruktur mit zu übernehmen beim kopieren. Gibts dafür irgendeine einfache Möglichkeit?

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11900
Statt `mv` dieses Script (ungetestet, ohne Garantie/Gewaehrleistung da von privat! ;)) verwenden:
http://coloss.us.to/movewithdir.bash

Also so:
Code:
find . -atime +10 -type f -exec /path/to/movewithdir.bash {} /path/to/target/dir \;

Auf die atime eines Inodes wuerde ich mich uebrigens nicht verlassen. Es gibt einfach zu viele Mount-Optionen, die diesen Timestamp tw. unerwuenscht beeinflussen koennen.

Edit: Das Script ist gerade um eine Zeile gewachsen, Jetzt sollte es wirklich funktionieren (das kommt davon, wenn man nur mit Dry-Runs testet :D).

NyoMic

xepera-xeper-xeperu
Avatar
Registered: Feb 2001
Location: Stahlstadt
Posts: 2613
super danke! werd ich dann gleich testen. Am einfachsten wärs halt mit rsync gegangen, aber das kann iirc die atime nicht auswerten.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz