Datenrettung

Wie man Daten von einer formatierten Platte rettet.

Eigentliche Datenrettung

Eigentliche Datenrettung über PhotoRec.

Dateien nach Extension sortieren

#!/usr/bin/env python
import os
import os.path
import shutil
import sys

source = sys.argv[1]
destination = sys.argv[2]

while not os.path.exists(source):
    source = raw_input('Enter a valid source directory\n')
while not os.path.exists(destination):
    destination = raw_input('Enter a valid destination directory\n')

for root, dirs, files in os.walk(source, topdown=False):
    for file in files:
        extension = os.path.splitext(file)[1][1:].lower()
        destinationPath = os.path.join(destination,extension)

        if not os.path.exists(destinationPath):
            os.mkdir(destinationPath)
        if os.path.exists(os.path.join(destinationPath,file)):
            print 'WARNING: this file was not copied :' + os.path.join(root,file)
        else:
            # shutil.copy2(os.path.join(root,file), destinationPath)
            shutil.move(os.path.join(root,file), destinationPath)

Doppelte Dateien entfernen

Doppelte Dateien finden über fastdupes.

Beipiel-Ergebnis:

/Users/blubb/Backup/avi/f604218220.avi
/Users/blubb/Backup/avi/f600049900.avi

/Users/blubb/Backup/avi/f604646956.avi
/Users/blubb/Backup/avi/f600478636.avi
/Users/blubb/Backup/avi/f115186924.avi
/Users/blubb/Backup/avi/f201566892.avi

/Users/blubb/Backup/avi/f604601580.avi
/Users/blubb/Backup/avi/f600433260.avi

Leider funktioniert die Löschen-Funktion nicht richtig. Daher mit zwei Regex-Ersetzungen (im Beispiel für TextWrangler) in Shell-Skript umwandeln.

Ersetzung 1: Die erste Kopie von Doppelten entfernen (so dass ein Exemplar bleibt)

Ersetzung 2: Move-Kommando draus bauen:

Beispiel-Ergebnis:

mkdir avi
mv "/Users/blubb/Backup/avi/f600049900.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f600478636.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f115186924.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f201566892.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f600433260.avi" avi/

Doppelte verschieben:

Dateinamen mit Infos anreichern

jpg

Bei Bildern stellt PhotoRec Dateidatum aus den EXIF-Daten wieder her. Damit die Dateien auch im Dateisystem automatisch nach Aufnahmezeit sortiert werden, kann man sie in Total Commander über "Menü -> Dateien -> Mehrfach-Umbenenn-Tool" (Strg+M) umbenennen. Die Umbenn-Maske [Y]-[M]-[D]_[h]-[m]_[N] stellt ein ISO-Datum vor den Dateinamen. Beispiel: 2014-02-10_20-28_f696134124.jpg.

mp3

Über das Tool Mp3tag kann man den Dateinamen mit Daten aus den ID3-Tags anreichern. Dazu Verzeichnis einlesen, alle Songs markieren und im Menü "Konverter -> Tag - Dateiname" (Alt+1) aufrufen. Der Formatstring %artist%_%album%_%track%_%title%_%_filename% stellt Interpret, Album, Track-Nummer und Titel vor den Dateinamen.