Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Daten von iCloud in kDrive importieren
Diese Anleitung erklärt, wie Sie Daten von iCloud Drive oder iCloud Fotos mit rclone in kDrive von Infomaniak importieren.
✘ NICHT VERFÜGBAR bei
kostenloser / Standard-Version von kSuite
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)
Einleitung
- Diese Methode richtet sich an erfahrene Benutzer, die Daten von iCloud nach kDrive übertragen möchten, ohne dies manuell Datei für Datei tun zu müssen.
- Mit rclone können Sie eine Quelle iCloud Drive oder iCloud Fotos und ein Ziel kDrive über WebDAV konfigurieren.
- Für den Zugriff auf iCloud mit rclone ist das übliche Passwort der Apple ID und die Zwei-Faktor-Authentifizierung von Apple erforderlich. Apple-App-Passwörter werden für diese Konfiguration nicht akzeptiert.
- Die iCloud-Authentifizierung muss möglicherweise regelmäßig mit
rclone reconnectoderrclone configerneuert werden. - Der Befehl
rclone copykopiert die Dateien nach kDrive, ohne sie aus der iCloud-Quelle zu löschen.
1. rclone installieren
rclone kann über die Befehlszeile installiert werden. Öffnen Sie auf macOS, Linux oder BSD die Anwendung Terminal und führen Sie den folgenden Befehl aus:
sudo -v ; curl https://rclone.org/install.sh | sudo bashLesen Sie bei Bedarf die offizielle Installationsanleitung für rclone, insbesondere für Windows oder für eine manuelle Installation.
Nachdem die Installation abgeschlossen ist, überprüfen Sie, ob rclone korrekt funktioniert:
rclone version
2. iCloud-Quelle in rclone konfigurieren
Starten Sie im Terminal die rclone-Konfiguration:
rclone config- Wählen Sie
n, um ein neues Remote-Laufwerk zu erstellen. Geben Sie dieser Quelle einen aussagekräftigen Namen, z. B.:
iCloudDrive- Wählen Sie den Speichertyp
iclouddrive. - Um Dokumente zu importieren, die in iCloud Drive gespeichert sind, behalten Sie den Standarddienst
drivebei. - Um Elemente von iCloud Fotos zu importieren, wählen Sie den Dienst
photosoder erstellen Sie ein zweites, dediziertes Remote-Laufwerk, z. B.iCloudPhotos. - Geben Sie Ihre Apple ID an, in der Regel eine E-Mail-Adresse.
- Wählen Sie, ob Sie Ihr eigenes Passwort eingeben möchten, und geben Sie dann das übliche Passwort für Ihre Apple ID ein.
- Antworten Sie mit
nauf die Frage nach der erweiterten Konfiguration, es sei denn, es besteht ein besonderer Bedarf. - Bestätigen Sie die Verbindung auf Ihrem vertrauenswürdigen Apple-Gerät und geben Sie dann den doppelten Authentifizierungscode ein, wenn rclone ihn anfordert.
- Wenn die Zusammenfassung korrekt ist, antworten Sie mit
y, um die Konfiguration zu speichern.
Überprüfen Sie, ob die iCloud-Quelle zugänglich ist:
rclone lsd iCloudDrive:Wenn Sie eine dedizierte Quelle für iCloud Fotos konfiguriert haben, überprüfen Sie auch diese:
rclone lsd iCloudPhotos:
3. Konfigurieren Sie das kDrive-Ziel in rclone
kDrive muss in rclone als WebDAV-Speicher konfiguriert werden.
Starten Sie die Konfiguration erneut, wenn Sie sich nicht mehr im rclone-Menü befinden:
rclone config- Wählen Sie
n, um ein neues Remote-Laufwerk zu erstellen. Geben Sie dem Ziel einen aussagekräftigen Namen, z. B.:
kDrive- Wählen Sie den Speichertyp
webdav. Für die URL geben Sie den direkten WebDAV-Zugriff auf Ihr kDrive an:
https://ID_KDRIVE.connect.kdrive.infomaniak.com/- Ersetzen Sie
ID_KDRIVEdurch die Kennung Ihres kDrive. Lesen Sie bei Bedarf diese Anleitung.
- Ersetzen Sie
- Für den WebDAV-Anbieter (
vendor) wählen Sieother. - Für den Benutzer (
user) geben Sie die E-Mail-Adresse an, mit der Sie sich bei Ihrem Infomaniak-Benutzerkonto anmelden. - Für das Passwort geben Sie Folgendes an:
- ein App-Passwort, wenn die Zwei-Faktor-Authentifizierung für das Infomaniak-Konto aktiviert ist;
- das Passwort des Infomaniak-Benutzerkontos, wenn die Zwei-Faktor-Authentifizierung nicht aktiviert ist.
- Lassen Sie
bearer_tokenleer. - Antworten Sie mit
nauf die Frage zur erweiterten Konfiguration, es sei denn, es besteht ein besonderer Bedarf. - Wenn die Zusammenfassung korrekt ist, antworten Sie mit
y, um die Konfiguration zu speichern.
Die resultierende Konfiguration sieht in der rclone-Konfigurationsdatei wie folgt aus:
[kDrive]
type = webdav
url = https://ID_KDRIVE.connect.kdrive.infomaniak.com/
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONEDas in der rclone-Konfigurationsdatei angezeigte Passwort wird nicht im Klartext gespeichert, wenn die Konfiguration mit rclone config erstellt wird. Wenn Sie diese Datei manuell bearbeiten, generieren Sie den Wert für das Feld pass mit dem Befehl rclone obscure.
Überprüfen Sie, ob das kDrive-Ziel erreichbar ist:
rclone lsd kDrive:
4. Daten von iCloud nach kDrive kopieren
Verwenden Sie für die Kopierbefehle nicht sudo, wenn die rclone-Konfiguration mit Ihrer üblichen Benutzersitzung erstellt wurde. Andernfalls sucht rclone möglicherweise nach einer anderen Konfiguration und findet die zuvor erstellten Zugänge nicht.
Bevor Sie eine vollständige Kopie starten, listen Sie die verfügbaren Ordner in der Quelle auf:
rclone lsd iCloudDrive:Es wird empfohlen, einen Test ohne tatsächliche Datenübertragung mit --dry-run durchzuführen:
rclone copy iCloudDrive: kDrive:iCloudDrive --dry-run --progressWenn das Ergebnis korrekt ist, starten Sie die Kopie:
rclone copy iCloudDrive: kDrive:iCloudDrive --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10 --log-level INFO --log-file "$HOME/Desktop/rclone-kdrive-import.log"Dieser Befehl kopiert die Ordner, Unterordner und Dateien von der Quelle iCloudDrive: in den Ordner iCloudDrive Ihres kDrive.
Bei einer Unterbrechung der Verbindung oder des Computers führen Sie denselben Befehl erneut aus. rclone setzt den Vergleich fort und vermeidet das erneute Kopieren von Dateien, wenn deren Größe und verfügbare Informationen übereinstimmen.
Um die Konsistenz des kopierten Volumens zu überprüfen, können Sie Quelle und Ziel anhand der Größe vergleichen:
rclone check iCloudDrive: kDrive:iCloudDrive --size-only --one-way --progress
iCloud-Fotos kopieren
Wenn Sie eine dedizierte Quelle für iCloud-Fotos konfiguriert haben, listen Sie zuerst die verfügbaren Bibliotheken und Ordner auf:
rclone lsd iCloudPhotos:Passen Sie dann den Quellpfad entsprechend der von rclone angezeigten Verzeichnisstruktur an. Beispiel:
rclone copy iCloudPhotos: kDrive:iCloudPhotos --dry-run --progressStarten Sie dann die Kopie, wenn das Testergebnis korrekt ist:
rclone copy iCloudPhotos: kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10 --log-level INFO --log-file "$HOME/Desktop/rclone-kdrive-photos.log"
5. Gegebenenfalls die Datumsangaben der Fotos korrigieren
Nach dem Export oder der Kopie von Fotos stimmen die Systemdatumsangaben der Dateien möglicherweise nicht mehr mit dem ursprünglichen Aufnahmedatum überein. Wenn die chronologische Anzeige nicht korrekt ist, können Sie die Datumsangaben in einer lokalen Kopie der Dateien korrigieren, bevor Sie diese endgültig in kDrive hochladen.
Arbeiten Sie immer mit einer lokalen Kopie der Dateien, bevor Sie ein Korrektur-Skript ausführen. Das folgende Skript wird nicht direkt auf einer Remote-Quelle von rclone ausgeführt: Es verarbeitet einen Ordner, der sich auf dem Computer befindet.
Um einen lokalen Ordner für die Korrektur vorzubereiten, kopieren Sie beispielsweise die Fotos in einen temporären Ordner auf dem Schreibtisch:
rclone copy iCloudPhotos: "$HOME/Desktop/iCloud-Photos" --progressInstallieren Sie dann ExifTool von https://exiftool.org/index.html und führen Sie das folgende Skript unter macOS über die Anwendung Terminal aus.
Das Skript sucht zuerst nach einem Datum in den Metadaten der Datei und dann im Dateinamen. Die korrigierten Dateien werden in DateFound.txt und die Dateien ohne ein verwendbares Datum in DateError.txt auf dem Desktop aufgelistet.
Das vollständig zu kopierende und einzufügende Skript:
/bin/bash <<'BASH'
#!/bin/bash
set -u
ROOT="$(osascript -e 'POSIX path of (choose folder with prompt "Select the folder containing the files to update")')" || exit 0
DESKTOP="$HOME/Desktop"
LOG_FOUND="$DESKTOP/DateFound.txt"
LOG_ERROR="$DESKTOP/DateError.txt"
: > "$LOG_FOUND"
: > "$LOG_ERROR"
find_exiftool() {
if command -v exiftool >/dev/null 2>&1; then
command -v exiftool
return 0
fi
if [ -x "/usr/local/bin/exiftool" ]; then
printf '%s\n' "/usr/local/bin/exiftool"
return 0
fi
if [ -x "/opt/homebrew/bin/exiftool" ]; then
printf '%s\n' "/opt/homebrew/bin/exiftool"
return 0
fi
return 1
}
EXIFTOOL="$(find_exiftool)" || {
printf '%s\n' "ExifTool not found. Install it, then run the script again." >> "$LOG_ERROR"
printf '%s\n' "ExifTool not found. Check DateError.txt on the desktop."
exit 1
}
if [ ! -d "$ROOT" ]; then
printf 'Invalid folder: %s\n' "$ROOT" >> "$LOG_ERROR"
printf '%s\n' "Invalid folder. Check DateError.txt on the desktop."
exit 1
fi
get_exif_date() {
"$EXIFTOOL" -s3 -d "%Y:%m:%d %H:%M:%S" -DateTimeOriginal -CreateDate -MediaCreateDate -TrackCreateDate -CreationDate -ModifyDate -- "$1" 2>/dev/null | awk '/^[0-9]{4}:[0-9]{2}:[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/ { print substr($0, 1, 19); exit }'
}
get_name_date() {
local name
name="$(basename "$1")"
if [[ "$name" =~ ([12][0-9]{3})[-_]?([01][0-9])[-_]?([0-3][0-9])([_\ -]?([0-2][0-9])[-_\.]?([0-5][0-9])[-_\.]?([0-5][0-9]))? ]]; then
local year="${BASH_REMATCH[1]}"
local month="${BASH_REMATCH[2]}"
local day="${BASH_REMATCH[3]}"
local hour="12"
local minute="00"
local second="00"
if [ -n "${BASH_REMATCH[5]:-}" ]; then
hour="${BASH_REMATCH[5]}"
minute="${BASH_REMATCH[6]}"
second="${BASH_REMATCH[7]}"
fi
printf '%s:%s:%s %s:%s:%s\n' "$year" "$month" "$day" "$hour" "$minute" "$second"
return 0
fi
return 1
}
is_valid_date() {
date -j -f "%Y:%m:%d %H:%M:%S" "$1" "+%Y:%m:%d %H:%M:%S" >/dev/null 2>&1
}
to_touch_date() {
printf '%s' "$1" | sed -E 's/^([0-9]{4}):([0-9]{2}):([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/\1\2\3\4\5.\6/'
}
write_metadata() {
local file="$1"
local date_value="$2"
"$EXIFTOOL" -overwrite_original "-DateTimeOriginal=$date_value" "-CreateDate=$date_value" "-ModifyDate=$date_value" -- "$file" >/dev/null 2>&1 || true
}
process_file() {
local file="$1"
local date_value=""
local source=""
date_value="$(get_exif_date "$file")"
if [ -n "$date_value" ]; then
source="EXIF"
else
date_value="$(get_name_date "$file")"
if [ -n "$date_value" ]; then
source="file name"
fi
fi
if [ -n "$date_value" ] && is_valid_date "$date_value"; then
local touch_value
touch_value="$(to_touch_date "$date_value")"
if [ "$source" != "EXIF" ]; then
write_metadata "$file" "$date_value"
fi
if touch -t "$touch_value" "$file" 2>/dev/null; then
printf '%s | %s | %s\n' "$source" "$date_value" "$file" >> "$LOG_FOUND"
else
printf 'Unable to update file date: %s\n' "$file" >> "$LOG_ERROR"
fi
else
printf 'No valid date found: %s\n' "$file" >> "$LOG_ERROR"
fi
}
while IFS= read -r -d '' file; do
case "$file" in
*.json|*_original) continue ;;
esac
process_file "$file"
done < <(find "$ROOT" -type f -print0)
printf '%s\n' "Done. Check DateFound.txt and DateError.txt on the desktop."
BASHNach der Korrektur laden Sie den korrigierten lokalen Ordner in kDrive hoch:
rclone copy "$HOME/Desktop/iCloud-Photos" kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10
6. Zugriff auf die Daten von kDrive aus
Sobald die Kopie abgeschlossen ist, können Sie auf Ihre Daten über die Web-App kDrive, die mobilen kDrive-Apps und die mit der Desktop-App kDrive synchronisierten Geräte zugreifen.
Wenn Sie auch die Desktop-App kDrive verwenden, warten Sie, bis die lokale Synchronisierung abgeschlossen ist, bevor Sie die importierten Ordner verschieben oder umbenennen.
Link zu dieser FAQ: https://faq.infomaniak.com/2515
War diese FAQ nützlich?