Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Importar datos a kDrive desde iCloud

Actualización 13/08/2026

Esta guía explica cómo importar datos de iCloud Drive o iCloud Photos a kDrive de Infomaniak utilizando rclone.

 

✘ NO DISPONIBLE con
kSuite Free / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)


 

Prólogo

  • Este método está dirigido a usuarios avanzados que desean transferir datos de iCloud a kDrive sin tener que realizar una copia manual de cada archivo.
  • rclone permite configurar una fuente iCloud Drive o iCloud Photos y, a continuación, un destino kDrive a través de WebDAV.
  • Para acceder a iCloud con rclone, se requiere la contraseña habitual del ID de Apple y la autenticación de dos factores de Apple. Las contraseñas de aplicación de Apple no son aceptadas para esta configuración.
  • Es posible que la autenticación de iCloud deba renovarse periódicamente con rclone reconnect o rclone config.
  • El comando rclone copy copia los archivos a kDrive sin eliminarlos de la fuente de iCloud.

 

1. Instalar rclone

rclone se puede instalar a través de la línea de comandos. En macOS, Linux o BSD, abra la aplicación Terminal y ejecute el siguiente comando:

sudo -v ; curl {{URL_1}} | sudo bash

Si es necesario, consulte la guía oficial de instalación de rclone, especialmente para Windows o para una instalación manual.

Una vez finalizada la instalación, compruebe que rclone responde correctamente:

rclone version

 

2. Configurar la fuente de iCloud en rclone

  1. En Terminal, inicie la configuración de rclone:

    rclone config
  2. Elija n para crear un nuevo disco remoto (Nuevo disco remoto).
  3. Asigne un nombre descriptivo a esta fuente, por ejemplo:

    iCloudDrive
  4. Elija el tipo de almacenamiento iclouddrive.
  5. Para importar documentos almacenados en iCloud Drive, mantenga el servicio predeterminado drive.
  6. Para importar elementos desde iCloud Photos, elija el servicio photos o cree un segundo disco remoto dedicado, por ejemplo, iCloudPhotos.
  7. Indique su ID de Apple, que normalmente es una dirección de correo electrónico.
  8. Elija la opción de introducir su propia contraseña y, a continuación, introduzca la contraseña habitual de su ID de Apple.
  9. Responda n a la configuración avanzada, a menos que tenga alguna necesidad específica.
  10. Valide la conexión desde su dispositivo Apple de confianza y, a continuación, introduzca el código de autenticación de dos factores cuando rclone lo solicite.
  11. Cuando el resumen sea correcto, responda y para guardar la configuración.

Compruebe que la fuente de iCloud es accesible:

rclone lsd iCloudDrive:

Si ha configurado una fuente dedicada a las fotos de iCloud, compruebe también esta:

rclone lsd iCloudPhotos:

 

3. Configurar el destino kDrive en rclone

kDrive debe configurarse en rclone como un almacenamiento WebDAV.

  1. Reinicie la configuración si ya no se encuentra en el menú de rclone:

    rclone config
  2. Elija n para crear un nuevo disco remoto.
  3. Asigne un nombre descriptivo al destino, por ejemplo:

    kDrive
  4. Seleccione el tipo de almacenamiento webdav.
  5. Para la URL, indique la dirección web directa a su kDrive:

    {{URL_3}}
    • Reemplace ID_KDRIVE por el identificador de su kDrive; consulte esta otra guía si es necesario.
  6. Para el proveedor WebDAV (vendor), elija other.
  7. Para el usuario (user), indique la dirección de correo electrónico para acceder a la cuenta de usuario de Infomaniak.
  8. Para la contraseña, indique:
    • una contraseña de aplicación si la autenticación de dos factores está activada en la cuenta de Infomaniak;
    • la contraseña de la cuenta de usuario de Infomaniak si la autenticación de dos factores no está activada.
  9. Deje el campo bearer_token vacío.
  10. Responda n a la configuración avanzada, a menos que tenga una necesidad específica.
  11. Si el resumen es correcto, responda y para guardar la configuración.

La configuración resultante se verá así en el archivo de configuración de rclone:

[kDrive]
type = webdav
url = {{URL_6}}
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONE

La contraseña que se muestra en el archivo de configuración de rclone no se guarda en texto plano cuando la configuración se realiza con rclone config. Si modifica este archivo manualmente, genere el valor del campo pass con el comando rclone obscure.

Compruebe que el destino kDrive es accesible:

rclone lsd kDrive:

 

4. Copiar los datos de iCloud a kDrive

No utilice sudo para los comandos de copia si la configuración de rclone se creó con su sesión de usuario habitual. De lo contrario, es posible que rclone busque otra configuración y no encuentre los accesos creados anteriormente.

Antes de iniciar una copia completa, enumere las carpetas disponibles en el origen:

rclone lsd iCloudDrive:

Se recomienda realizar una prueba sin transferencia real con --dry-run:

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

Si el resultado es correcto, inicie 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"

Este comando copia los directorios, subdirectorios y archivos de la fuente iCloudDrive: al directorio iCloudDrive de su kDrive.

En caso de interrupción de la conexión o del equipo, vuelva a ejecutar el mismo comando. rclone reanudará la comparación y evitará copiar los archivos que ya estén presentes, siempre que su tamaño y la información disponible coincidan.

Para verificar la coherencia del volumen copiado, puede comparar la fuente y el destino por tamaño:

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

 

Copiar fotos de iCloud

Si ha configurado una fuente dedicada a iCloud Photos, primero enumere las bibliotecas y carpetas disponibles:

rclone lsd iCloudPhotos:

A continuación, adapte la ruta de origen según la estructura de árbol mostrada por rclone. Ejemplo:

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

Luego, inicie la copia si el resultado de la prueba es correcto:

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. Corrija las fechas de las fotos si es necesario

Después de una exportación o copia de fotos, las fechas del sistema de los archivos podrían no coincidir con la fecha original de la toma. Si la visualización cronológica no es correcta, puede corregir las fechas en una copia local de los archivos antes de enviarlos definitivamente a kDrive.

Trabaje siempre en una copia local de los archivos antes de ejecutar un script de corrección. El script que se muestra a continuación no se ejecuta directamente en una fuente remota de rclone: procesa una carpeta que se encuentra en el ordenador.

Para preparar una carpeta local para su corrección, copie, por ejemplo, las fotos en una carpeta temporal en el escritorio:

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

A continuación, instale ExifTool desde https://exiftool.org/index.html y ejecute el script que se muestra a continuación en macOS desde la aplicación Terminal.

El script busca una fecha en los metadatos del archivo y, a continuación, en su nombre. Los archivos corregidos se enumeran en DateFound.txt y los archivos sin una fecha utilizable en DateError.txt, en el escritorio.

El script que debe copiar y pegar íntegramente:

/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

Después de la corrección, envíe la carpeta local corregida a kDrive:

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

 

6. Acceder a los datos desde kDrive

Una vez finalizada la copia, podrá acceder a sus datos desde la aplicación web kDrive, las aplicaciones móviles de kDrive y los dispositivos sincronizados con la aplicación de escritorio kDrive.

Si también utiliza la aplicación de escritorio kDrive, espere a que finalice la sincronización local antes de mover o cambiar el nombre de las carpetas importadas.


¿Le ha sido útil esta FAQ?