Automatisches Verschieben von Dateien älter 2 Jahre auf externe Festplatte

Janke

Registriert
Thread Starter
Dabei seit
28.12.2009
Beiträge
4
Reaktionspunkte
0
Hallo Community,

ich bin auf der Suche nach einer Funktion, mit der ich Dateien aus dem Ordner "Dokumente", die älter als z.B. 2 Jahre sind, in eine gleiche, automatisch anzulegende Verzeichnisstruktur auf ein externes Laufwerk verschieben kann.

Dabei sollen im Ziellaufwerk bereits vorhandene Dateien mit gleichem Namen im gleichem Verzeichnis idealerweise nicht überschrieben werden, sondern einfach als zweite Kopie dort abgelegt werden (das wäre aber nur eine feine Option, ein Überschreiben im Zielverzeichnis wäre auch ok).


Ich bin totaler Laie in Sachen Scripting und habe zunächst erwartet, dass der Automator diese Aufgabe doch mit Leichtigkeit erledigen müsste, bin dort aber nicht fündig geworden. Dann habe ich mich etwas mit rsync und mv auseinandergesetzt, bin dort aber irgendwann bei den vielen Optionen ausgestiegen. Im Forum habe ich leider auch nichts gefunden. Ich hatte vermutet, dass diese Funktion mit Bordmitteln (macOS Mojave) bestimmt irgendwo existiert oder gebastelt werden kann, weil doch eigentlich viele User das gleiche Problem haben dürften?! Oder hilft da nur eine externe Anwendung?


Ich freue mich über jeden Tipp, der mir bei der Lösung meines Problems weiterhilft...

Danke und Grüße aus dem mittleren Norden :)
 
Das wird niemals so zuverlässig funktionieren, dass ich mich darauf verlassen würde.
 
Hallo Maulwurfn, (btw.: Autschn, cooler Name :) )

hätte nicht erwartet, das das so eine schwierige Aufgabe ist...? Es wäre auch ausreichend, wenn ich das Skript einmal im Jahr über meinen Dokumentenordner drüberjage... Es ist doch "nur" ein Verschieben in eine gespiegelt Ordnerstruktur...
 
Mir wäre das auch zu riskant, da selbst etwas zusammenzubauen.
Etwa, weil die Ordnerstuktur ja bei den meisten Menschen nicht in Granit gemeisselt ist und das bei Änderungen daran dann auf dem Archivlaufwerk zu ziemlichem Kuddelmuddel führen könnte.
Ist auch nicht einfach, da alle Entwicklungen vorherzusehen und auf mögliche Fehler zu prüfen.

Rein vom Programmieren her könnte ich mir vorstellen, für jedes Jahr jeweils so eine Sicherung durchzuführen - einfach alles in den betreffenden Ordnern spiegeln und dann über eine intelligente Suche alle neueren Dateien rauslöschen.
Die Dateien wären dann archiviert in der vorhandenen Verzeichnisstruktur, aber halt getrennt nach Jahren (oder anderen Abständen, du hattest halt eine Aktion pro Jahr erwähnt).

Generell wäre auch zu überlegen, was du mit "älter" meinst. Erstellungsdatum, letzte Änderung oder letzte Benutzung. Ist halt auch abhängig von deinen Dateien und deinen Interessen.
Man kann da sicher ein Konzept entwickeln mit Ausnahmen, das wäre mir aber zu kompliziert.
Und was machst du mit Projekten/Verzeichnissen, die du häufig benutzt, wo aber ein, zwei Dateien liegen, die dazugehören, aber mal längere Zeit nicht geöffnet wurden? Das Verzeichnis dann einfach auseinanderreissen?

Ich gebe aber zu, daß mir das ganze Konzept nicht so recht zusagt, für mich persönlich wäre es irgendwie unsinnig, das Auslagern oder Archivieren von Dateien vom Erstellungs- oder Änderungszeitpunkt abhängig zu machen. So wie ich auch meine Zweifel an diesem Konzept habe, alles wegzugeben, was ich ein Jahr nicht gebraucht habe. Ich hänge halt an meinen Sparbüchern. Und auch an meinen Skiern, selbst wenn ich ein Jahr mal nicht in den Urlaub fahren konnte. Oder früher an den Reservereifen.

Ist aber wie gesagt, sehr vom persönlichen Verhalten abhängig, ich will dir das nicht ausreden.
Vielleicht lohnt es, sich mal CarbonCoyCloner anzuschauen, ob das Programm intelligente Suchordner (x-Datum älter als …) als Quelle benutzen kann und dabei die Verzeichnisstruktur beibehält.
 
Hallo Schiffversenker,

Danke für deine Antwort :) Ich kann deine Bedenken durchaus nachvollziehen, für meinen Anwendungsfall wäre es aber ok. Ich habe viele alte Dateien, die ich nicht wegschmeißen möchte / kann, die aber auch nicht meine Systemfestplatte belasten sollen. Ich denke, da ist dann der von dir beschriebene Weg der sinnvollste, also Backup erstellen, neue Dateien auslöschen und in aktueller Verzeichnisstruktur auf dem Systemlaufwerk die alten Dateien löschen...

Ich danke euch für eure Anregungen!!!
 
Das geht mit Applescript. Gefahr die hier einige wittern gibt’s keine. (wenn das Script richtig geschrieben ist) Ist halt etwas Arbeit, vielleicht findest Du ja jemanden der seine Zeit gratis opfert.
 
Eigentlich geht es auch ohne Script. Man benötigt nur eine Ordnerstruktur die mit der Jahreszahl beginnt

Fotos -->2020
Dokumente --> 2020
etc.pp

So hat man immer einen Überblick, welche Daten älter als 2 Jahre sind und kann per Hand oder einem einfachen rsync-Script (den man auf die Jahreszahl) anpasst, seine Daten kopieren und dann löschen.

Diese Ordner kann man dann bequem jedes Jahr auf einem anderen Medium/Cloud auslagern.
 
Das ist überhaupt gar keine Aufgabe für Applescript. Atalantia kommt nur bei jedem Beitrag in diesem Forum immer mit Applescript daher.

Man sollte sowas natürlich im Hintergrund laufen lassen über z.B. launchd/cron zeit oder event gesteuert. Die passenden Dateien kann man per find anhand der creation time filtern, dann per rsync oder Ähnliches kopieren. Das sollte nicht viel mehr ein paar Zeilen Script sein + den launchd/cron/daemon Eintrag.
 
...bei solchen Beiträgen:
Das wird niemals so zuverlässig funktionieren, dass ich mich darauf verlassen würde.
Mir wäre das auch zu riskant, da selbst etwas zusammenzubauen.

...frage ich mich schon, ob mich dieses Forum noch interessieren sollte - ein derartiges Mindset ist mir zutiefst zuwider... (n)

Natürlich kann man das skripten:

Schritt 1: Mit rsync ein versioniertes Backup auf die externe Platte machen:
https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC/

Das rsync-Skript arbeitet mit Hardlinks, d.h. du hast einen "Datumsordner" von jedem Backup, der scheinbar den gesamten Inhalt des Quellverzeichnisses enthält. Faktisch gibt es jedoch keine Dateiduplikate, alle sich wiederholenden Dateien und Verzeichnisse sind Hardlinks. Dateien würden erst dann auf dem Backup gelöscht, wenn wenn der letzte Hardlink in einem der Datumsordner gelöscht würde. Ich nutze dieses Skript schon sehr lange und sichere damit komplette Server...

Schritt 2: Alle Dateien im Quellordner löschen, die älter als zwei Jahre sind:

https://unix.stackexchange.com/questions/194863/delete-files-older-than-x-days

...simple as that...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: KOJOTE, Madcat, Schlenk und eine weitere Person
Alle Dateien im Quellordner löschen, die älter als zwei Jahre sind

Warum nicht direkt einen Link dahin setzen?

Vielleicht ist auch eine Cloudbasierte Lösung sinnvoll, die nur die Dateien der letzten 24 Monate lokal vorhält.
 
  • Gefällt mir
Reaktionen: Madcat
Wäre das nicht was für Hazel?

Ich verschiebe auch Dateien welche innerhalb einer gewissen Zeit nicht angefasst wurden woanders hin.
Bildschirmfoto 2020-06-03 um 19.13.03.jpg
Und Hazel kann ja auf der Destination die Verzeichnisstruktur übernehmen.

Bildschirmfoto 2020-06-03 um 19.28.45.jpg Bildschirmfoto 2020-06-03 um 19.10.50.jpg
 
  • Gefällt mir
Reaktionen: KOJOTE
Vielen Dank euch allen für die Anregungen. Die Idee von fischerttd finde ich auch ganz cool und einfach für mich als Laien umzusetzen. Zwar hätte ich dann nicht meine Ordnerstruktur auf der Archivfestplatte, aber immerhin nach Jahren sortiert... Bowman, deine Idee verfolge ich auch mal... Das Löschen der Dateien könnte doch auch mit dem Automator funktionieren...

Wie gesagt, Danke euch allen für die Ideen!!!
 
Hallo,
FreeFileSync - heißt dein Wunschprogramm
 
Ich habe viele alte Dateien, die ich nicht wegschmeißen möchte / kann, die aber auch nicht meine Systemfestplatte belasten sollen. Ich denke, da ist dann der von dir beschriebene Weg der sinnvollste, also Backup erstellen, neue Dateien auslöschen und in aktueller Verzeichnisstruktur auf dem Systemlaufwerk die alten Dateien löschen...
Deine Vorgehensweise birgt eine Gefahr in sich.

Nachdem du deine "alten Dateien" vom Systemlaufwerk gelöscht hast, sind diejenige auf der externen Platee deine Originale.

Dein Glaube, dass du die ja noch zusätzlich in einem Backup hast, kann aber durchaus nicht stimmen. Nur wenn du sicherstellen kannst, dass die jeweiligen Backupstände _immer_ aufgehoben werden und _nicht_ gelöscht werden, hast du die alten Daten noch im Backup. Aber ganz das mit "alle Backupstände sind vorhanden" muss so nicht sein.

TimeMachine z.B. löscht regelmäßig Backupstände der einzelnen Stunden-Sicherungen so dass nur eine Tages-Sicherung übrig bleibt und diese Tages-Sicherungen werden ebenso reduziert auf eine Sicherung pro Woche.

So wie du schreibst, klingt das für mich so, als ob du ein Backup nur danun machst, wenn du ausmisten willst. Somit hätte TimeMachine nur 1 Stand mit den alten Dateien. Und dieser Stand könnte dann durchaus im Laufe der Zeit verschwinden.
 
  • Gefällt mir
Reaktionen: Madcat und dg2rbf
Zurück
Oben Unten