1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Importare dati su kDrive da iCloud
Questa guida spiega come importare i dati di iCloud utilizzando rClone su kDrive Infomaniak.
COMPATIBILITÀ my kSuite ✗ | my kSuite+ ✗ ✔= Offerta compatibile | ✗= Non disponibile |
Premessa
- Poiché Apple non offre API come i suoi concorrenti, una soluzione per recuperare i documenti da un iCloud Drive è installare l'app kDrive macOS per sincronizzare la cartella icloud che deve trovarsi nella tua libreria. La guida seguente propone un'alternativa solida.
1. Configurare rclone per accedere ai drive
Installazione di rclone sul tuo computer
Esiste una versione di rclone con interfaccia grafica (GUI) ma è tutto a fatto possibile farlo tramite linea di comando (CLI):
- Installa rclone da un'applicazione di tipo
Terminal
sul tuo dispositivo, digitando tutto il seguente comando:sudo -v ; curl https://rclone.org/install.sh | sudo bash
- Inserisci la password della tua sessione sul tuo computer per avviare l'installazione:
- Consulta la guida ufficiale di installazione se necessario.
Configurazione del disco remoto (iCloud) su rclone
- Una volta installato rclone, inserisci il comando
rclone config
.- Consulta la guida ufficiale di configurazione se necessario.
- Quindi scegliete di configurare una nuova importazione remota rispondendo
n
perNew remote
. - Nome il disco remoto, ad esempio
appledrive
: - Scegli quindi il tipo di disco da importare rispondendo
iclouddrive
, che corrisponde a iCloud Drive tra le opzioni proposte. - Indica a rclone il
apple_id
inserendo il tuo Apple ID (di solito un indirizzo email). - Scegli di utilizzare la tua password associata all'account Apple ID (
y
). - Inserisci la tua password due volte come richiesto:
- Rispondi “No”
n
alla domanda sulla “configurazione avanzata”. - Una finestra sul tuo dispositivo si aprirà per avvisarti di una connessione remota; autorizzala:
- Una finestra sul tuo dispositivo si aprirà con un codice 2FA; copialo:
- Incolla il codice quando rclone te lo chiede.
- Rispondi “Sì”
y
all'ultima domanda se tutte le informazioni presentate sono corrette.
Configurazione del disco di destinazione (kDrive) su rclone
È possibile agire direttamente sul file di configurazione di rclone incollando la tua configurazione kDrive ad esempio:
[kDrive]
type = webdav
url = https://kDrive_ID_HERE.connect.kdrive.infomaniak.com/
vendor = other
user = user@email.com
pass = PASSWORD_HERE_OR_APP_PASSWORD_IF_2FA
Ecco come procedere passo dopo passo come per la configurazione precedente:
- Sempre nel terminale, inserisci
n
per una nuova configurazione del disco e inserisci il nomekDrive
per riconoscere il tuo disco di destinazione: - Scegli quindi il tipo di disco da importare rispondendo
webdav
che corrisponde a una configurazione WebDAV tra le opzioni proposte. - Inserisci le seguenti informazioni:
url
= accesso diretto a kDrive (consultate questa guida per l'ID kDrive per l'URL di accesso)vendor
= rclone (l'opzione n°6)user
= indirizzo email per l'accesso all'account utente Infomaniak
- Rispondi “Sì”
y
alla domanda sulla password, quindi inserisci la password:- password dell'applicazione in caso di autenticazione a due fattori attivata o quella del tuo account utente Infomaniak se non hai attivato la 2FA.
- Lasciare vuoto il
bearer_token
poi rispondere “No”n
alla domanda sulla “configurazione avanzata”. - Rispondi “Sì”
y
all'ultima domanda e i tuoi 2 dischi appariranno:
2. Copiare i dati di iCloud su kDrive
Prerequisiti
- Consultate le opzioni disponibili nella guida ufficiale prima di avviare un'importazione.
Esempio di comando per avviare la copia dei tuoi dati iCloud alla radice del tuo kDrive:
sudo rclone copy appledrive: kDrive:
Questo avvierà immediatamente la copia delle tue cartelle, sottocartelle e contenuti iCloud nella cartella personale del tuo kDrive Infomaniak!
Precisazioni riguardanti le date delle tue foto esportate
Se esportate le vostre foto da iCloud a kDrive Infomaniak, fate attenzione ai metadati delle date. Durante l'esportazione, le date di creazione dei file possono essere modificate e sostituite con la data di esportazione invece della data originale dello scatto.
Ecco uno script per utenti esperti che consente di ripristinare i dati corretti nei tuoi file utilizzando le informazioni EXIF (è consigliabile elaborare lotti di massimo 7000 foto per evitare crash):
- Scarica ExifTool https://exiftool.org/index.html (Pacchetto MacOS).
- Installa l'applicazione autorizzandone l'apertura in anticipo se necessario:
- Aprite Script Editor (situato nella vostra cartella Applicazioni > Utilità):
- Fai clic su Nuovo documento.
- Incolla il lungo script proposto qui sotto nella finestra di Script Editor.
- Clicca su Esegui per avviare lo script, si apre una finestra:
- Seleziona la cartella da analizzare.
- Lasciate quindi girare lo script, modificherà le date o scriverà gli errori in un file errors.txt sulla scrivania.
Lo script da copiare e incollare per intero:
-- remplace date du fichier par la date exif creation
tell application "Finder"
set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à redater"
my inspecter(Chemin)
end tell
on inspecter(un_dossier)
tell application "Finder"
-- traitement des fichiers :
set les_fichiers to files of un_dossier
repeat with chaque_fichier in les_fichiers
-- traitement d'un fichier
set lefichier to chaque_fichier
set AppleScript's text item delimiters to {""}
set nom to name of chaque_fichier --récupère le nom du fichier
set extens to document file nom in un_dossier --recupere l extension du fichier
set lextension to name extension of extens
set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
set AppleScript's text item delimiters to {"."} --récupère la partie avant le dernier "."
set elements to text items of nom
set nomcourt to (items 1 thru -2 of elements) as string
set ancien_nom to nomcourt
set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
set chaque_fichier to chaque_fichier as string
try
set datephoto to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of chaque_fichier
if datephoto is "" then set datephoto to do shell script "/usr/local/bin/exiftool -CreationDate " & quoted form of POSIX path of chaque_fichier
if datephoto is "" then set datephoto to do shell script "/usr/local/bin/exiftool -CreateDate " & quoted form of POSIX path of chaque_fichier
on error
-- Ecrit un fichier erreur sur le bureau si erreur chargement date
set lelog to open for access ((path to desktop folder as text) & "errors.txt") as text with write permission
write "Le fichier ne contient pas de date : " & chaque_fichier & return to lelog starting at eof
close access lelog
set datephoto to ""
end try
if length of datephoto > 20 then
set x to (length of datephoto) - 33
set DateOriginale to text -x thru -1 of datephoto
set ladate to text 1 thru 5 of DateOriginale
set lannee to ladate
set ladate to ladate & text 7 thru 8 of DateOriginale
set lemois to text 7 thru 8 of DateOriginale
set ladate to ladate & text 10 thru 11 of DateOriginale
set lejour to text 10 thru 11 of DateOriginale
set ladate to ladate & text 13 thru 14 of DateOriginale
set lheure to text 13 thru 14 of DateOriginale
set ladate to ladate & text 16 thru 17 of DateOriginale
set lesminutes to text 16 thru 17 of DateOriginale
set ladate to ladate & "." & text 19 thru 20 of DateOriginale
set lessecondes to text 19 thru 20 of DateOriginale
set newnom to lannee & "-" & lemois & "-" & lejour & " " & lheure & "." & lesminutes & "." & lessecondes
set xxx to ladate as string
if xxx is " 000000000000.00" then
-- Ecrit un fichier erreur sur le bureau si erreur chargement date(=0000...)
set lelog to open for access ((path to desktop folder as text) & "errors.txt") as text with write permission
write "Le fichier ne contient pas de date : " & chaque_fichier & return to lelog starting at eof
close access lelog
else
do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
end if
end if
if datephoto is not "" then
else
set lelog to open for access ((path to desktop folder as text) & "errors.txt") as text with write permission
write "Le fichier ne contient pas de date : " & chaque_fichier & return to lelog starting at eof
close access lelog
end if
end repeat
-- traitement des dossiers :
set les_dossiers to folders of un_dossier
repeat with chaque_dossier in les_dossiers
-- traitement d'un dossier
my inspecter(chaque_dossier)
end repeat
end tell
end inspecter
tell application "Finder"
(display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell