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 Photos kunt importeren naar kDrive van Infomaniak met behulp van rclone.
✘ NIET BESCHIKBAAR voor
kSuite Free / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)
Inleiding
- Deze methode is bedoeld voor ervaren gebruikers die hun iCloud-gegevens naar kDrive willen overzetten zonder handmatig elk bestand te kopiëren.
- rclone maakt het mogelijk om een bron iCloud Drive of iCloud Foto's te configureren, en vervolgens een bestemming kDrive via WebDAV.
- Voor toegang tot iCloud met rclone is het gebruikelijke wachtwoord van het Apple ID en de tweefactorauthenticatie van Apple 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 bron-iCloud 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
{{URL_1}} | 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 configureren in rclone
Open Terminal en start 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 te importeren die zijn opgeslagen in iCloud Drive, behoudt u de standaardinstelling
drive. - Om items vanuit iCloud-foto's te importeren, selecteert u de service
foto'sof maakt u een tweede, speciale cloudopslaglocatie, bijvoorbeeldiCloudFoto's. - Voer uw Apple ID in, meestal een e-mailadres.
- Kies ervoor om uw eigen wachtwoord in te voeren en voer vervolgens uw gebruikelijke Apple ID-wachtwoord in.
- Beantwoord
nop de vraag over de geavanceerde configuratie, tenzij u specifieke behoeften heeft. - Bevestig de verbinding vanaf uw vertrouwde Apple-apparaat en voer vervolgens de code voor tweefactorauthenticatie in wanneer rclone hierom vraagt.
- Als de samenvatting correct is, antwoord dan met
yom 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 ingesteld, 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 bent:
rclone config- Kies
nom een nieuwe externe schijf aan te maken. Geef de bestemming een duidelijke naam, bijvoorbeeld:
kDrive- Kies het opslagtype
webdav. Voer voor de URL de directe webDAV-toegang tot uw kDrive in:
{{URL_3}};
- Vervang
ID_KDRIVEdoor de ID van uw kDrive; raadpleeg indien nodig deze andere handleiding.
- Vervang
- Selecteer voor de WebDAV-provider (
vendor) de optieother. - Voor de gebruiker (
user) geeft u het e-mailadres op waarmee u inlogt op het Infomaniak-gebruikersaccount. - Voor het wachtwoord geeft u het volgende op:
- een app-wachtwoord als de tweefactorauthenticatie is ingeschakeld voor het Infomaniak-account;
- het wachtwoord van het Infomaniak-gebruikersaccount als de tweefactorauthenticatie niet is ingeschakeld.
- Laat het veld
bearer_tokenleeg. - Beantwoord
nop de vraag over de geavanceerde configuratie, tenzij er een specifieke behoefte is. - Als de samenvatting correct is, antwoord dan met
yom de configuratie op te slaan.
De resulterende configuratie ziet er als volgt uit in het rclone-configuratiebestand:
[kDrive]
type = webdav
url = {{URL_6}}
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONEHet wachtwoord dat in het configuratiebestand van rclone wordt weergegeven, wordt niet in platte tekst opgeslagen wanneer de configuratie wordt uitgevoerd met rclone config. Als u dit bestand handmatig wijzigt, genereert u de waarde van het veld pass met het commando rclone obscure.
Controleer of de kDrive-bestemming toegankelijk is:
rclone lsd kDrive:
4. Gegevens van iCloud naar kDrive kopiëren
Gebruik geen sudo voor de kopieeropdrachten als de rclone-configuratie is aangemaakt met uw gebruikelijke gebruikerssessie. Anders kan rclone een andere configuratie zoeken en de eerder aangemaakte toegangsmethoden niet vinden.
Voordat u een volledige kopie start, maakt u een lijst van de beschikbare mappen op de bron:
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"Met dit commando worden de mappen, submappen en bestanden van de bron iCloudDrive: gekopieerd naar de map iCloudDrive in uw kDrive.
Als de verbinding of de computer wordt onderbroken, 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 de 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 ingesteld, kunt u eerst de beschikbare bibliotheken en mappen weergeven:
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 kopieerbewerking als de test succesvol is verlopen:
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. Corrigeer indien nodig de datums van de foto's
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 in een lokale kopie van de bestanden voordat u ze definitief naar kDrive verzendt.
Werk altijd aan een lokale kopie van de bestanden voordat u een script voor correctie 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 voor correctie, kopieert u bijvoorbeeld de foto's naar een tijdelijke map op het bureaublad:
rclone copy iCloudPhotos:
"$HOME/Desktop/iCloud-Photos" --progressInstalleer vervolgens ExifTool via 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.
De script die 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 u de script hebt gecorrigeerd, 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 de kopie 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 kDrive-desktopapp 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?