Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
Gegevens importeren naar kDrive vanuit iCloud
Deze handleiding legt uit hoe u gegevens van iCloud Drive of iCloud Foto's kunt importeren naar kDrive van Infomaniak met behulp van rclone.
✘ NIET BESCHIKBAAR met
gratis kSuite / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)
Inleiding
- Deze methode is bedoeld voor ervaren gebruikers die gegevens van iCloud naar kDrive willen overzetten zonder handmatig bestanden te kopiëren.
- Met rclone kunt u een bron iCloud Drive of iCloud Foto's configureren en vervolgens een bestemming kDrive via WebDAV.
- Om toegang te krijgen tot iCloud met rclone, is het gebruikelijke wachtwoord van uw Apple ID en Apple's tweefactorauthenticatie vereist. Apple-app-wachtwoorden worden niet geaccepteerd voor deze configuratie.
- De iCloud-authenticatie moet mogelijk periodiek worden vernieuwd met
rclone reconnectofrclone config. - De opdracht
rclone copykopieert de bestanden naar kDrive zonder ze van de iCloud-bron te verwijderen.
1. rclone installeren
rclone kan via de opdrachtregel worden geïnstalleerd. Open op macOS, Linux of BSD de applicatie Terminal en voer de volgende opdracht uit:
sudo -v ; curl https://rclone.org/install.sh | sudo bashRaadpleeg indien nodig de officiële installatiehandleiding van rclone, met name voor Windows of voor een handmatige installatie.
Nadat de installatie is voltooid, controleert u of rclone correct reageert:
rclone version
2. De iCloud-bron in rclone configureren
Start in Terminal de configuratie van rclone:
rclone config- Kies
nom een nieuwe externe schijf aan te maken (Nieuwe externe schijf). Geef deze bron een duidelijke naam, bijvoorbeeld:
iCloudDrive- Kies het opslagtype
iclouddrive. - Om documenten die zijn opgeslagen in iCloud Drive te importeren, behoudt u de standaardinstelling
drive. - Om items vanuit iCloud Foto's te importeren, kiest u de service
photosof maakt u een tweede, speciale externe schijf aan, bijvoorbeeldiCloudPhotos. - Voer uw Apple ID in, meestal een e-mailadres.
- Kies ervoor om uw eigen wachtwoord in te voeren en voer vervolgens het gebruikelijke wachtwoord van uw Apple ID in.
- Beantwoord
nop de vraag over geavanceerde configuratie, tenzij u specifieke behoeften heeft. - Valideer de verbinding vanaf uw vertrouwde Apple-apparaat en voer vervolgens de code voor tweefactorauthenticatie in wanneer rclone dit vraagt.
- Als de samenvatting correct is, beantwoordt u
jom de configuratie op te slaan.
Controleer of de iCloud-bron toegankelijk is:
rclone lsd iCloudDrive:Als u een speciale bron voor iCloud Foto's heeft geconfigureerd, controleer deze dan ook:
rclone lsd iCloudPhotos:
3. Configureer de kDrive-bestemming in rclone
kDrive moet in rclone worden geconfigureerd als een WebDAV-opslag.
Start de configuratie opnieuw als u niet meer in het rclone-menu zit:
rclone config- Kies
nom een nieuwe externe schijf aan te maken. Geef de bestemming een duidelijke naam, bijvoorbeeld:
kDrive- Kies het opslagtype
webdav. - Geef voor de URL de directe WebDAV-toegang tot uw kDrive op:
https://ID_KDRIVE.connect.kdrive.infomaniak.com/- Vervang
ID_KDRIVEdoor de identificatie van uw kDrive; raadpleeg indien nodig deze andere handleiding.
- Kies voor de WebDAV-provider (
vendor) de optieother. - Geef voor de gebruiker (
user) het e-mailadres op waarmee u inlogt op uw Infomaniak-gebruikersaccount. - Geef voor het wachtwoord het volgende op:
- een app-wachtwoord als tweefactorauthenticatie is ingeschakeld voor het Infomaniak-account;
- het wachtwoord van het Infomaniak-gebruikersaccount als tweefactorauthenticatie niet is ingeschakeld.
- Laat het veld
bearer_tokenleeg.
- Beantwoord
nop de vraag over de geavanceerde configuratie, tenzij er een specifieke behoefte is.
[kDrive]
type = webdav
url = https://ID_KDRIVE.connect.kdrive.infomaniak.com/
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONE- Als de samenvatting correct is, beantwoordt u
yom de configuratie op te slaan.
De resulterende configuratie ziet er als volgt uit in het rclone-configuratiebestand:
rclone lsd kDrive:
Het wachtwoord dat in het rclone-configuratiebestand wordt weergegeven, wordt niet in platte tekst opgeslagen wanneer de configuratie wordt uitgevoerd met rclone config. Als u dit bestand handmatig bewerkt, genereert u de waarde van het veld pass met het commando rclone obscure.
Controleer of de kDrive-bestemming toegankelijk is:
4. Gegevens van iCloud naar kDrive kopiëren
rclone lsd iCloudDrive:Het wordt aanbevolen om een test uit te voeren zonder daadwerkelijke overdracht met --dry-run:
rclone copy iCloudDrive: kDrive:iCloudDrive --dry-run --progressAls het resultaat correct is, start dan de kopieeractie:
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"Deze opdracht kopieert de mappen, submappen en bestanden van de bron iCloudDrive: naar de map iCloudDrive in uw kDrive.
In geval van een onderbreking van de verbinding of de computer, voer dan dezelfde opdracht opnieuw uit. rclone hervat de vergelijking en voorkomt dat bestanden die al aanwezig zijn en waarvan de grootte en beschikbare informatie overeenkomen, opnieuw worden gekopieerd.
Om de consistentie van het gekopieerde volume te controleren, kunt u de bron en bestemming vergelijken op basis van grootte:
rclone check iCloudDrive: kDrive:iCloudDrive --size-only --one-way --progress
iCloud-foto's kopiëren
Als u een speciale bron voor iCloud-foto's heeft geconfigureerd, lijst u eerst de beschikbare bibliotheken en mappen op:
rclone lsd iCloudPhotos:Pas vervolgens het bronpad aan op basis van de structuur die door rclone wordt weergegeven. Bijvoorbeeld:
rclone copy iCloudPhotos: kDrive:iCloudPhotos --dry-run --progressStart vervolgens de kopieeractie als het resultaat van de test correct is:
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. Indien nodig de datums van de foto's corrigeren
Na een export of kopie van foto's komen de systeemdatums van de bestanden mogelijk niet meer overeen met de oorspronkelijke opnamedatum. Als de chronologische weergave niet correct is, kunt u de datums corrigeren op een lokale kopie van de bestanden voordat u deze definitief naar kDrive verzendt.
Werk altijd aan een lokale kopie van de bestanden voordat u een correctiescript uitvoert. Het onderstaande script wordt niet rechtstreeks uitgevoerd op een externe rclone-bron: het verwerkt een map die op de computer aanwezig is.
Om een lokale map voor te bereiden om te corrigeren, kopieert u bijvoorbeeld de foto's naar een tijdelijke map op het bureaublad:
rclone copy iCloudPhotos: "$HOME/Desktop/iCloud-Photos" --progressInstalleer vervolgens ExifTool vanaf https://exiftool.org/index.html en voer vervolgens het onderstaande script uit op macOS via de applicatie Terminal.
Het script zoekt naar een datum in de metagegevens van het bestand en vervolgens in de bestandsnaam. De gecorrigeerde bestanden worden weergegeven in DateFound.txt en de bestanden zonder bruikbare datum in DateError.txt, op het bureaublad.
Het script dat u volledig moet kopiëren en plakken:
/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."
BASHNadat de correcties zijn uitgevoerd, kunt u de gecorrigeerde lokale map naar kDrive uploaden:
rclone copy "$HOME/Desktop/iCloud-Photos" kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10
6. Toegang tot de gegevens via kDrive
Zodra het kopiëren is voltooid, kunt u uw gegevens openen via de web-app kDrive, de mobiele apps van kDrive en de apparaten die zijn gesynchroniseerd met de desktop-app van kDrive.
Als u ook de desktop-app van kDrive gebruikt, wacht dan tot de lokale synchronisatie is voltooid voordat u de geïmporteerde mappen verplaatst of hernoemt.
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/2515
Is deze veelgestelde vragenlijst nuttig geweest?