1. Bilder und Videos von unterschiedlichen Geräten sammeln und Backup erstellen

2.000 Videos und Bilder. 160 GB Datenmenge. Diese Menge ist tatsächlich im letzten 2-wöchigem Urlaub entstanden und der Grund ist ganz einfach: unsere Generation nimmt jede Szene aus unterschiedlichen Blickwinkeln auf. Beispiel: der Sohnemann paddelt auf dem See und ruckzuck werden zwei, drei Handys gezuckt und vielleicht die Drohne gestartet, um die Situation aus der Luft zu fotografieren. Mit einer wasserdichten Action-Cam kann die Szenerie aus und unter dem Wasser gefilmt werden.

Die Schilderung ist gar nicht so unnormal, das Ergebnis sind eine hohe Menge an Videos und Bildern, die einerseits auf unterschiedlichen Geräten gespeichert sind und andererseits redundant sind, d.h. eine Szene wurde mehrfach aufgenommen.

Um jetzt eine Struktur in das Chaos zu bringen, braucht der Hobby-Fotograf einen klaren Workflow, um am Ende Freude an der Bilder- und Videosammlung zu haben. Und hierbei möchten wir eine Schritt-für-Schritt-Anleitung aufbauen, wie ein solcher Workflow aussehen könnte.

Inhaltsverzeichnis

Alle Bilder und Videos aus den zahlreichen Quellen (Smartphone, Kamera, Drohne, Action-Cam etc) einsammeln

Im ersten Schritt wird der Inhalt der Speicherkarten aller Geräte auf den Zielort kopiert, in unserem Fall das NAS im heimischen Netzwerk.

Bilder und Videos von allen Geräten (Smartphone, Drohne, DSLR/DSLM, ActionCam) kopieren
Bilder und Videos von allen Geräten (Smartphone, Drohne, DSLR/DSLM, ActionCam) kopieren

Bevor wir nun damit beginnen, die Bilder- oder Videos in irgendeiner Form zu bearbeiten, sortieren, verschlagworten, etc., erstellen wir eine 1:1 Kopie. Dieses Backup sollte optimalerweise physikalisch vom Rechner oder NAS getrennt sein, z.B. auf einer externen Festplatte, die nach dem Kopieren in der Schublade verstaut wird.

Backup: habe eine Datei IMMER an mindestens zwei Orten gespeichert

Ziel ist es ein Backup zu haben, so dass wir bei Fehlern in unserem Workflow immer die Möglichkeit haben, auf ein Backup zurückzugreifen. Vor jeder Bearbeitung eines Projekts gibt es eine Grundregel: jede Datei existiert an mindestens zwei unterschiedlichen Orten. Erst nach Finalisierung des Projekts wird der fertige Stand auf die Backup-Festplatte synchronisiert.

Synchronisierung-Script

Für die Synchronisierung empfiehlt sich folgendes Bash-Skript (Linux). Dieses Script

  • vergleicht zwei Verzeichnisse
  • erstellt einen Report (Dry-Run)
  • synchronisiert die beiden Verzeichnisse (Ziel hat den gleichen Stand wie die Quelle)

Das Script:

#!/bin/bash

if [ "$#" -lt 2 ]; then
    echo "Illegal number of parameters"
    echo "usage: ./rsync.sh sourcePath destinationPath"
    echo "usage: ./rsync.sh /Volumes/photo/ /Volumes/Untitled/bilderalbum/ > /tmp/rsync2.log"
    exit 1;
fi

SOURCE_PATH=$1
DESTINATION_PATH=$2
TIMESTAMP=$(date +%s)
LOGFILE=rsync_${TIMESTAMP}.log

echo ""
echo "------------------------------------------"
echo "- RSYNC "
echo "-"
echo "- source: $SOURCE_PATH"
echo "- destionation: $DESTINATION_PATH"
echo "- Log: $LOGFILE"
echo "-"
echo "------------------------------------------"
echo ""

read -p "Press any key to start - DRY-RUN"

# r = recursive
# l = copy symlinks as symlinks
# t = timestamp, preserve modified date
# g = preserve group
# o = preserve owner
# O = ignore timestamp on folders
# N = preserve create time (not supported on Debian)???
# v = verbose

# rlptgoD
# rsync -rltgoONv \

rsync -rltgoOv \
      --delete \
      --dry-run \
      --itemize-changes \
      --exclude=Thumbs.db --exclude=.DS_Store --exclude=*.db --exclude=*.ini \
      $SOURCE_PATH \
      $DESTINATION_PATH | tee $LOGFILE
      
read -p "Press any key to open Logfile $LOGFILE"
open $LOGFILE

read -p "Press any key to start - Execute Sync"

rsync -rltgoOv \
      --delete \
      --log-file=$LOGFILE  \
      --exclude=Thumbs.db --exclude=.DS_Store --exclude=*.db --exclude=*.ini \
      $SOURCE_PATH \
      $DESTINATION_PATH
Die Ausführung: die Quelle ist der Ordner /Volumes/photo-1/_NEU/2022/ auf dem NAS, das Ziel die externe USB-Festplatte /Volumes/Untitled/bilderalbum/_NEU/2022/. Nach der Synchronisierung liegt eine 1:1 Kopie auf der externen USB-Festplatte und wir können angstfrei auf dem NAS mit der Arbeit beginnen.

./rsync.sh /Volumes/photo-1/_NEU/2022/ /Volumes/Untitled/bilderalbum/_NEU/2022/
------------------------------------------
- RSYNC
-
- source: /Volumes/photo-1/_NEU/2022/
- destionation: /Volumes/Untitled/bilderalbum/_NEU/2022/
- Log: rsync_1658922003.log
-
------------------------------------------

Press any key to start - DRY-RUN

>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220713_101708.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220713_145526.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220713_150812.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220713_211709.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220713_220538.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220714_145415.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220714_145511.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220714_145647.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220715_202512.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220715_203405.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/VID_20220716_200011.mp4
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220316_131053.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220415_135016.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220429_070722.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220429_070845.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220430_174620.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220507_100500.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220509_210132.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220602_091516.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220606_200742.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220608_180051.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220610_080114.jpg
>f++++++++++ Camping Iso/xiaomi-2022-07-17/DCIM/IMG_20220622_123959.jpg

sent 82,727 bytes received 3,610 bytes 11,511.60 bytes/sec
total size is 150,251,838,891 speedup is 1,740,294.88 (DRY RUN)

Press any key to open Logfile rsync_1658922003.log

Press any key to start - Execute Sync