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
kSuite Free / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)
Einleitung
- Diese Methode richtet sich an erfahrene Benutzer, die ihre iCloud-Daten ohne manuelles Kopieren einzelner Dateien nach kDrive übertragen möchten.
- rclone ermöglicht die Konfiguration einer iCloud Drive- oder iCloud Photos-Quelle und eines kDrive-Ziels über WebDAV.
- Für den Zugriff auf iCloud mit rclone ist das übliche Apple-ID-Passwort und die Zwei-Faktor-Authentifizierung von Apple erforderlich. Apple-Applikationspasswörter werden für diese Konfiguration nicht akzeptiert.
- Die iCloud-Authentifizierung muss möglicherweise in regelmäßigen Abständen mit
rclone reconnectoderrclone configerneuert werden. - Der Befehl
rclone copykopiert die Dateien nach kDrive, ohne sie aus der ursprünglichen 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 {{URL_1}} | 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. Konfigurieren Sie die iCloud-Quelle in rclone
Öffnen 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
iclouddriveaus. - Um Dokumente zu importieren, die in iCloud Drive gespeichert sind, behalten Sie den Standarddienst
drivebei. - Um Elemente aus iCloud Fotos zu importieren, wählen Sie den Dienst
photosaus oder 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 die Option, Ihr eigenes Passwort einzugeben, und geben Sie dann das übliche Passwort für Ihre Apple ID ein.
- Antworten Sie mit
nauf die Frage zur erweiterten Konfiguration, es sei denn, es besteht ein besonderer Bedarf. - Bestätigen Sie die Verbindung von Ihrem vertrauenswürdigen Apple-Gerät aus 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.
Stellen Sie sicher, dass die iCloud-Quelle zugänglich ist:
rclone lsd iCloudDrive:Wenn Sie eine spezielle Quelle für iCloud-Fotos konfiguriert haben, überprüfen Sie diese ebenfalls:
rclone lsd iCloudPhotos:
3. kDrive als Ziel in rclone konfigurieren
kDrive muss in rclone als WebDAV-Speicher konfiguriert werden.
Starten Sie die Konfiguration neu, falls 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
webdavaus. Für die URL geben Sie den direkten WebDAV-Zugriff auf Ihr kDrive an:
{{URL_3}}- Ersetzen Sie
ID_KDRIVEdurch die Kennung Ihres kDrive; lesen Sie gegebenenfalls diese andere Anleitung.
- Ersetzen Sie
- Wählen Sie für den WebDAV-Anbieter (
vendor) die Optionother. - Für den Benutzer (
user) geben Sie die E-Mail-Adresse für die Anmeldung zum Infomaniak-Benutzerkonto an. - 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 das Feld
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 = {{URL_6}}
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 wurde. Wenn Sie diese Datei manuell bearbeiten, generieren Sie den Wert für das Feld pass mit dem Befehl rclone obscure.
Stellen Sie sicher, dass das kDrive-Ziel erreichbar ist:
rclone lsd kDrive:
4. iCloud-Daten nach kDrive kopieren
Verwenden Sie sudo nicht für die Kopierbefehle, 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 auf 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.
Sollte die Verbindung oder der Computer unterbrochen werden, 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 Volumes 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 anschließend den Quellpfad an die in rclone angezeigte Verzeichnisstruktur an. Beispiel:
rclone copy iCloudPhotos: kDrive:iCloudPhotos --dry-run --progressStarten Sie dann die Kopie, wenn das Ergebnis des Tests 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 Kopieren 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 entfernten rclone-Quelle 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 Desktop:
rclone copy iCloudPhotos: "$HOME/Desktop/iCloud-Photos" --progressInstallieren Sie anschließend ExifTool von https://exiftool.org/index.html und führen Sie dann das folgende Skript auf einem Mac über die Anwendung Terminal aus.
Das Skript sucht nach einem Datum in den Metadaten der Datei und anschließend im Dateinamen. Die korrigierten Dateien werden in DateFound.txt und die Dateien ohne ein verwendbares Datum in DateError.txt auf dem Schreibtisch aufgelistet.
Der 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."
BASHSenden Sie nach der Korrektur den korrigierten lokalen Ordner zu kDrive:
rclone copy "$HOME/Desktop/iCloud-Photos" kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10
6. Zugriff auf die Daten über kDrive
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?