
🌐 Auch auf: English · Français · Español
😤 Wenn ein Backup scheitert … wegen eines Dateinamens
Neulich ist mir eines meiner automatisierten Backups unter Linux völlig unerwartet mitten im Lauf abgestürzt. Keine aussagekräftige Fehlermeldung, kein eleganter Fallback – einfach ein stiller Abbruch.
Nach ordentlich grep und ausgiebiger Höhlenforschung in den Logs hatte ich den Übeltäter: eine einzige Datei mit einem nicht konformen Dateinamen, mit dem das Backup-Tool nichts anfangen konnte. Und es kommt noch besser: Die Datei stammte von einem macOS-System (MacBook Air). Na klar. 😅
Wie sich herausstellt, streut macOS gern ein paar hübsche Unicode-Eigenheiten, unsichtbare Zeichen und kreativ eingesetzte Sonderzeichen ein. Super für Menschen, weniger super für Linux-Dateisysteme oder Backup-Tools.
💾 Auftritt rdiff-backup: meine Lieblingswaffe für versionierte Backups
Ich nutze rdiff-backup für meine täglichen Backups, weil es versionierte, inkrementelle Backups beherrscht – wie Time Machine, nur nerdiger und CLI-freundlich:
rdiff-backup /data /mnt/backup/dataAber jetzt kommt’s: rdiff-backup hat sich an diesem kaputten Dateinamen verschluckt und das Handtuch geworfen. Keine inkrementelle Magie, keine Versionierung – nur ein Fehlschlag.
Lektion gelernt: Räum deine Dateien auf, bevor du sie sicherst. Also habe ich einen Schritt vor das Backup gesetzt: detox.
🧼 Was ist detox und warum sollte dich das interessieren?
detox ist ein kleines Linux-Kommandozeilentool, das rekursiv chaotische Dateinamen aufräumt, indem es problematische Zeichen entfernt, zum Beispiel:
- Leerzeichen
- Umlaute (ä, ö, ü → ae, oe, ue)
- Unicode-Wahnsinn
- Seltsame Symbole und Steuerzeichen
Perfekt für Dateien, die von … na ja … überall herkommen, nur nicht von Linux.
🛠️ Installation
Auf den meisten Distributionen ist das ganz einfach:
sudo apt install detox🚀 Grundlegende Nutzung
So räumst du ein Verzeichnis rekursiv auf:
detox -r /your/directory🔧 Vorher-nachher-Magie an Beispielen
| Ursprünglicher Dateiname | Aufgeräumt |
|---|---|
| Urlaubsfotos 2024 (Köln).jpg | Urlaubsfotos_2024_Koeln.jpg |
| Résumé_finalé.pdf | Resume_finale.pdf |
| Projekt 1#Beta!.zip | Projekt_1Beta.zip |
🧪 Empfohlene Schemes
detox unterstützt verschiedene „Schemes“, die festlegen, wie Dateinamen bereinigt werden. Bei mir hat das hier am besten funktioniert:
detox -r -s utf_8 -s iso8859_1 -v /datautf_8: entfernt schräges Multibyte-Unicode-Zeugiso8859_1: transliteriert deutsche/französische Akzente und Umlaute-v: zeigt genau, was umbenannt wird (sehr empfehlenswert)
🔁 So sieht meine Backup-Pipeline jetzt aus
# Step 1: Clean up file names
detox -r -s utf_8 -s iso8859_1 -v /data
# Step 2: Run versioned backup
rdiff-backup /data /mnt/backup/data
Seit detox mit im Spiel ist, laufen meine rdiff-backup-Jobs butterweich – selbst wenn ich chaotische Dateien von macOS, USB-Sticks oder synchronisierten Cloud-Ordnern abgleiche.
🧙 Automatisieren wie ein Nerd
Wenn du gern skriptest, hier ein schnörkelloses Beispiel:
#!/bin/bash
SOURCE="/data"
TARGET="/mnt/backup/data"
# Clean first
detox -r -s utf_8 -s iso8859_1 -v "$SOURCE"
# Then backup with version history
rdiff-backup "$SOURCE" "$TARGET"
Pack das in cron, systemd oder womit auch immer du am liebsten automatisierst. Dein zukünftiges Ich wird es dir danken.
📚 Fazit
Wenn du Backups fährst, Daten zwischen Betriebssystemen synchronisierst oder einfach Dateinamen willst, die deine Shell-Skripte nicht zum Weinen bringen, ist detox ein Muss.
Es ist klein, schnell, rekursiv – und hat mir den Hintern gerettet. Gerade in Kombination mit rdiff-backup macht es deine Backup-Pipeline deutlich robuster und vorhersehbarer.
Und denk dran: Garbage in, garbage out. Erst aufräumen, dann sichern.






