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 03/07/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 gratuito / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)


 

Introducción

  • Este método está dirigido a usuarios avanzados que desean transferir datos de iCloud a kDrive sin tener que realizar una copia manual de archivo por archivo.
  • rclone permite configurar una fuente iCloud Drive o iCloud Photos y, a continuación, un destino kDrive a través de WebDAV.
  • El acceso a iCloud con rclone 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 desde la línea de comandos. En macOS, Linux o BSD, abra la aplicación Terminal y ejecute el siguiente comando:

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

Consulte la guía oficial de instalación de rclone si es necesario, 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 generalmente es una dirección de correo electrónico.
  8. Elija introducir su propia contraseña y, a continuación, escriba la contraseña habitual de su ID de Apple.
  9. Responda n a la configuración avanzada, a menos que tenga una 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.

Verifique que la fuente de iCloud sea accesible:

rclone lsd iCloudDrive:

Si ha configurado una fuente dedicada a iCloud Photos, también verifíquela:

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. Elija el tipo de almacenamiento webdav.
  5. Para la URL, indique la dirección web directa de acceso a tu kDrive:

    https://ID_KDRIVE.connect.kdrive.infomaniak.com/
    • Reemplaza ID_KDRIVE con el identificador de tu kDrive; consulta esta otra guía si es necesario.
  6. Para el proveedor WebDAV (vendor), elige other.
  7. Para el usuario (user), indica la dirección de correo electrónico con la que inicias sesión en la cuenta de usuario de Infomaniak.
  8. Para la contraseña, indica:
    • 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. Deja el campo bearer_token vacío.
  10. Responde n a la configuración avanzada, a menos que tengas una necesidad específica.
  11. Cuando el resumen sea correcto, responde 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 = https://ID_KDRIVE.connect.kdrive.infomaniak.com/
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 modificas este archivo manualmente, genera el valor del campo pass con el comando rclone obscure.

Verifica que el destino kDrive sea accesible:

rclone lsd kDrive:

 

4. Copiar los datos de iCloud a kDrive

No uses sudo para los comandos de copia si la configuración de rclone se creó con tu sesión de usuario habitual. De lo contrario, rclone podría buscar otra configuración y no encontrar los accesos creados anteriormente.

Antes de iniciar una copia completa, enumera las carpetas disponibles en la fuente:

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 ordenador, vuelva a ejecutar el mismo comando. rclone reanudará la comparación y evitará volver a copiar los archivos que ya estén presentes cuando 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 los directorios 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. Corregir 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 pueden 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.

Siempre trabaje 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 presente en el ordenador.

Para preparar una carpeta local para corregir, 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, a continuación, 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 por completo:

/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 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?