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 un'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.
- kDrive supporta il caricamento in streaming di rclone tramite WebDAV, fino a 50 Go (espandibile a 100 Go) per evitare abusi, con gestione automatica degli errori se il limite viene superato senza specificare preventivamente la dimensione tramite
Content-Length
.
1. Configurare rclone per accedere ai drive
Installazione di rclone sul tuo computer
Esiste una versione di rclone con interfaccia grafica (GUI) ma è tutto sommato 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 scegli di configurare una nuova importazione remota rispondendo
n
perNew remote
. - Nomeggiate 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. - Indicate 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 accedere al 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
- Consultare 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 avanzati 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.
- Fai clic su Esegui per avviare lo script, si apre una finestra:
- Seleziona la cartella da analizzare.
- Lascia 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:
-- replace file date with EXIF creation date or date from name after the first dash -
tell application "Finder"
set FolderPath to choose folder with prompt "Select the folder containing the files to update"
my processFolder(FolderPath)
end tell
on processFolder(aFolder)
tell application "Finder"
-- process files:
set fileList to files of aFolder
repeat with eachFile in fileList
-- process a single file
set theFile to eachFile
set AppleScript's text item delimiters to {""}
set fileName to name of eachFile --get the file name
set eachFile to eachFile as string --file path
set hasDate to true --initialize date found flag
try
--get date if available
set photoDate to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of eachFile
if photoDate is "" then set photoDate to do shell script "/usr/local/bin/exiftool -CreationDate " & quoted form of POSIX path of eachFile
if photoDate is "" then set photoDate to do shell script "/usr/local/bin/exiftool -CreateDate " & quoted form of POSIX path of eachFile
if photoDate is "" then
set hasDate to false --check if date was found
end if
on error
set hasDate to false -- error retrieving date
set photoDate to ""
end try
if length of photoDate > 20 then
--format extracted date
set x to (length of photoDate) - 33
set OriginalDate to text -x thru -1 of photoDate
set formattedDate to text 1 thru 5 of OriginalDate
set theYear to formattedDate
set formattedDate to formattedDate & text 7 thru 8 of OriginalDate
set theMonth to text 7 thru 8 of OriginalDate
set formattedDate to formattedDate & text 10 thru 11 of OriginalDate
set theDay to text 10 thru 11 of OriginalDate
set formattedDate to formattedDate & text 13 thru 14 of OriginalDate
set theHour to text 13 thru 14 of OriginalDate
set formattedDate to formattedDate & text 16 thru 17 of OriginalDate
set theMinute to text 16 thru 17 of OriginalDate
set formattedDate to formattedDate & "." & text 19 thru 20 of OriginalDate
set theSecond to text 19 thru 20 of OriginalDate
set newName to theYear & "-" & theMonth & "-" & theDay & " " & theHour & "." & theMinute & "." & theSecond
set testValue to formattedDate as string --check if found date is 000
if testValue is " 000000000000.00" then
set hasDate to false
else
-- set file date to original EXIF date and write to log
do shell script "touch -t " & formattedDate & " " & quoted form of POSIX path of eachFile
set logFile to open for access ((path to desktop folder as text) & "Date Found.txt") as text with write permission
write "Original date found for file: " & OriginalDate & " " & eachFile & return to logFile starting at eof
close access logFile
end if
end if
if hasDate is false then
-- get date from file name after first dash
set nb to ""
set nameDate to ""
set fileName to fileName as string
set savedDelimiters to AppleScript's text item delimiters --save delimiters
set AppleScript's text item delimiters to {"-"} --split on "-"
set nb to offset of "-" in fileName
if nb is not 0 then
set AppleScript's text item delimiters to savedDelimiters --restore delimiters
set nameDate to characters (nb + 1) thru (nb + 8) of fileName as string
set nameDate to nameDate & "1200.00"
set cmd1 to "/usr/local/bin/exiftool -datetimeoriginal=" & nameDate & " " & quoted form of POSIX path of eachFile
set cmd2 to "/usr/local/bin/exiftool -createdate=" & nameDate & " " & quoted form of POSIX path of eachFile
end if
try
-- write date from name to EXIF
do shell script cmd1
do shell script cmd2
do shell script "touch -t " & nameDate & " " & quoted form of POSIX path of eachFile
do shell script "rm " & quoted form of POSIX path of (eachFile & "_original")
on error
-- if date from name is invalid, log the error
set logFile to open for access ((path to desktop folder as text) & "Date Error.txt") as text with write permission
write "No valid date found in file name: " & eachFile & return to logFile starting at eof
close access logFile
end try
end if
end repeat
-- process folders:
set folderList to folders of aFolder
repeat with eachSubfolder in folderList
-- process a subfolder
my processFolder(eachSubfolder)
end repeat
end tell
end processFolder
tell application "Finder"
display dialog "Done! All files processed." buttons {"Close"}
end tell