Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Importare dati su kDrive da iCloud

Aggiornamento 03/07/2026

Questa guida spiega come importare i dati da iCloud Drive o iCloud Photos in kDrive di Infomaniak utilizzando rclone.

 

✘ NON DISPONIBILE con
kSuite gratuito / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)


 

Introduzione

  • Questo metodo è rivolto agli utenti esperti che desiderano trasferire i dati da iCloud a kDrive senza doverli copiare manualmente, file per file.
  • rclone consente di configurare una sorgente iCloud Drive o iCloud Photos e quindi una destinazione kDrive tramite WebDAV.
  • L'accesso a iCloud con rclone richiede la password Apple ID e l'autenticazione a due fattori di Apple. Le password delle app Apple non sono accettate per questa configurazione.
  • L'autenticazione iCloud potrebbe dover essere rinnovata periodicamente con rclone reconnect o rclone config.
  • Il comando rclone copy copia i file in kDrive senza eliminarli dalla sorgente iCloud.

 

1. Installare rclone

rclone può essere installato tramite riga di comando. Su macOS, Linux o BSD, aprire l'applicazione Terminale ed eseguire il comando seguente:

sudo -v ; curl https://rclone.org/install.sh | sudo bash

Consultare la guida ufficiale all'installazione di rclone, se necessario, in particolare per Windows o per un'installazione manuale.

Una volta completata l'installazione, verificare che rclone risponda correttamente:

rclone version

 

2. Configurare la sorgente iCloud in rclone

  1. Nel Terminale, avviare la configurazione di rclone:

    rclone config
  2. Scegliere n per creare un nuovo disco remoto (Nuovo disco remoto).
  3. Assegnare un nome esplicito a questa sorgente, ad esempio:

    iCloudDrive
  4. Scegliere il tipo di archiviazione iclouddrive.
  5. Per importare i documenti archiviati in iCloud Drive, mantenere il servizio predefinito drive.
  6. Per importare gli elementi da iCloud Photos, scegliere il servizio photos oppure creare un secondo disco remoto dedicato, ad esempio iCloudPhotos.
  7. Indicare il proprio Apple ID, in genere un indirizzo e-mail.
  8. Scegliere di inserire la propria password, quindi digitare la password abituale del proprio Apple ID.
  9. Rispondere n alla configurazione avanzata, a meno che non ci sia una necessità specifica.
  10. Convalidare la connessione dal proprio dispositivo Apple di fiducia, quindi inserire il codice di autenticazione a due fattori quando rclone lo richiede.
  11. Quando il riepilogo è corretto, rispondere y per salvare la configurazione.

Verificare che la sorgente iCloud sia accessibile:

rclone lsd iCloudDrive:

Se si è configurata una sorgente dedicata a iCloud Photos, verificarla anch'essa:

rclone lsd iCloudPhotos:

 

3. Configurare la destinazione kDrive in rclone

kDrive deve essere configurato in rclone come un'archiviazione WebDAV.

  1. Riavviare la configurazione se non ci si trova più nel menu rclone:

    rclone config
  2. Scegliere n per creare un nuovo disco remoto.
  3. Assegnare un nome esplicito alla destinazione, ad esempio:

    kDrive
  4. Scegliere il tipo di archiviazione webdav.
  5. Per l'URL, indica l'indirizzo WebDAV diretto al tuo kDrive:
https://ID_KDRIVE.connect.kdrive.infomaniak.com/
  • Sostituisci ID_KDRIVE con l'identificativo del tuo kDrive; consulta questa guida, se necessario.
  1. Per il provider WebDAV (vendor), scegli other.
  2. Per l'utente (user), indica l'indirizzo e-mail utilizzato per accedere all'account utente Infomaniak.
  3. Per la password, indica:
    • una password per l'applicazione se l'autenticazione a due fattori è attiva sull'account Infomaniak;
    • la password dell'account utente Infomaniak se l'autenticazione a due fattori non è attiva.
  4. Lascia il campo bearer_token vuoto.
  • Rispondi n alla configurazione avanzata, a meno che non sia necessario.
[kDrive]
type = webdav
url = https://ID_KDRIVE.connect.kdrive.infomaniak.com/
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONE
  • Quando il riepilogo è corretto, rispondi y per salvare la configurazione.

La configurazione risultante sarà simile a questa nel file di configurazione di rclone:

rclone lsd kDrive:

 

La password visualizzata nel file di configurazione di rclone non è memorizzata in chiaro quando la configurazione viene creata con rclone config. Se modifichi questo file manualmente, genera il valore del campo pass con il comando rclone obscure.

Verifica che la destinazione kDrive sia accessibile:

4. Copiare i dati iCloud su kDrive

rclone lsd iCloudDrive:

Si consiglia di eseguire un test senza trasferimento effettivo utilizzando --dry-run:

rclone copy iCloudDrive: kDrive:iCloudDrive --dry-run --progress

Se il risultato è corretto, avviare la copia:

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"

Questo comando copia le cartelle, le sottocartelle e i file dalla sorgente iCloudDrive: alla cartella iCloudDrive del tuo kDrive.

In caso di interruzione della connessione o del computer, ripetere lo stesso comando. rclone riprenderà il confronto ed eviterà di ricopiare i file già presenti quando le loro dimensioni e le informazioni disponibili corrispondono.

Per verificare la coerenza del volume copiato, è possibile confrontare la sorgente e la destinazione in base alle dimensioni:

rclone check iCloudDrive: kDrive:iCloudDrive --size-only --one-way --progress

 

Copiare le foto di iCloud

Se hai configurato una sorgente dedicata a iCloud Photos, elenca prima le librerie e le cartelle disponibili:

rclone lsd iCloudPhotos:

Adatta quindi il percorso di origine in base alla struttura visualizzata da rclone. Esempio:

rclone copy iCloudPhotos: kDrive:iCloudPhotos --dry-run --progress

Quindi, avvia la copia se il risultato del test è corretto:

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. Correggere le date delle foto, se necessario

Dopo un'esportazione o una copia di foto, le date di sistema dei file potrebbero non corrispondere più alla data originale dello scatto. Se la visualizzazione cronologica non è corretta, è possibile correggere le date su una copia locale dei file prima di inviarle definitivamente su kDrive.

Lavora sempre su una copia locale dei file prima di eseguire uno script di correzione. Lo script riportato di seguito non viene eseguito direttamente su una sorgente remota rclone: elabora una cartella presente sul computer.

Per preparare una cartella locale da correggere, copia ad esempio le foto in una cartella temporanea sul desktop:

rclone copy iCloudPhotos: "$HOME/Desktop/iCloud-Photos" --progress

Installa quindi ExifTool da https://exiftool.org/index.html, quindi esegui lo script riportato di seguito su macOS dall'applicazione Terminal.

Lo script cerca una data nei metadati del file e, in caso non la trovi, nel nome del file. I file corretti vengono elencati in DateFound.txt e i file per i quali non è stato possibile individuare una data utile vengono elencati in DateError.txt, entrambi salvati sul desktop.

Lo script da copiare e incollare interamente:

/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."
BASH

Dopo la correzione, invia la cartella locale corretta a kDrive:

rclone copy "$HOME/Desktop/iCloud-Photos" kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10

 

6. Accedere ai dati da kDrive

Una volta completata la copia, i tuoi dati sono accessibili dall'app Web kDrive, dalle app mobili kDrive e dai dispositivi sincronizzati con l'app desktop kDrive.

Se utilizzi anche l'app desktop kDrive, attendi il completamento della sincronizzazione locale prima di spostare o rinominare le cartelle importate.


Questa FAQ è stata utile?