Base de conhecimento
1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!
Importar dados para o kDrive a partir do iCloud
Este guia explica como importar dados do iCloud Drive ou iCloud Photos para o kDrive da Infomaniak usando o rclone.
✘ INDISPONÍVEL com
kSuite gratuito / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)
Introdução
- Este método destina-se a utilizadores experientes que desejam transferir dados do iCloud para o kDrive sem ter de copiar manualmente cada ficheiro.
- O rclone permite configurar uma origem iCloud Drive ou iCloud Photos e, em seguida, um destino kDrive através do WebDAV.
- O acesso ao iCloud com o rclone requer a palavra-passe normal da Apple ID e a autenticação de dois fatores da Apple. As palavras-passe de aplicação da Apple não são aceites para esta configuração.
- A autenticação do iCloud pode ter de ser renovada periodicamente com
rclone reconnectourclone config. - O comando
rclone copycopia os ficheiros para o kDrive sem os eliminar da origem do iCloud.
1. Instalar o rclone
O rclone pode ser instalado através da linha de comandos. No macOS, Linux ou BSD, abra a aplicação Terminal e execute o seguinte comando:
sudo -v ; curl https://rclone.org/install.sh | sudo bashConsulte o guia oficial de instalação do rclone, se necessário, especialmente para o Windows ou para uma instalação manual.
Após a conclusão da instalação, verifique se o rclone responde corretamente:
rclone version
2. Configurar a origem do iCloud no rclone
No Terminal, inicie a configuração do rclone:
rclone config- Escolha
npara criar um novo disco remoto (Novo disco remoto). Atribua um nome descritivo a esta origem, por exemplo:
iCloudDrive- Escolha o tipo de armazenamento
iclouddrive. - Para importar documentos armazenados no iCloud Drive, mantenha o serviço padrão
drive. - Para importar itens do iCloud Fotos, escolha o serviço
photosou crie um segundo disco remoto dedicado, por exemplo,iCloudPhotos. - Indique o seu ID Apple, geralmente um endereço de e-mail.
- Escolha inserir a sua própria senha e, em seguida, digite a senha habitual do seu ID Apple.
- Responda
nà configuração avançada, a menos que haja uma necessidade específica. - Valide a conexão a partir do seu dispositivo Apple de confiança e, em seguida, insira o código de autenticação de dois fatores quando o rclone o solicitar.
- Quando o resumo estiver correto, responda
ypara salvar a configuração.
Verifique se a origem do iCloud está acessível:
rclone lsd iCloudDrive:Se você configurou uma origem dedicada ao iCloud Fotos, verifique-a também:
rclone lsd iCloudPhotos:
3. Configurar o destino kDrive no rclone
O kDrive deve ser configurado no rclone como um armazenamento WebDAV.
Reinicie a configuração se você não estiver mais no menu do rclone:
rclone config- Escolha
npara criar um novo disco remoto. Atribua um nome descritivo ao destino, por exemplo:
kDrive- Escolha o tipo de armazenamento
webdav. Para a URL, indique o acesso WebDAV direto ao seu kDrive:
https://ID_KDRIVE.connect.kdrive.infomaniak.com/- Substitua
ID_KDRIVEpelo identificador do seu kDrive; consulte este outro guia, se necessário.
- Substitua
- Para o fornecedor WebDAV (
vendor), escolhaother. - Para o utilizador (
user), indique o endereço de e-mail utilizado para iniciar sessão na conta de utilizador Infomaniak. - Para a palavra-passe, indique:
- uma palavra-passe de aplicação se a autenticação de dois fatores estiver ativada na conta Infomaniak;
- a palavra-passe da conta de utilizador Infomaniak se a autenticação de dois fatores não estiver ativada.
- Deixe o campo
bearer_tokenvazio. - Responda
nà configuração avançada, a menos que haja uma necessidade específica. - Quando o resumo estiver correto, responda
ypara guardar a configuração.
A configuração resultante será semelhante a esta no ficheiro de configuração do rclone:
[kDrive]
type = webdav
url = https://ID_KDRIVE.connect.kdrive.infomaniak.com/
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONEA palavra-passe exibida no ficheiro de configuração do rclone não é escrita em texto simples quando a configuração é realizada com o comando rclone config. Se modificar este ficheiro manualmente, gere o valor do campo pass com o comando rclone obscure.
Verifique se o destino kDrive está acessível:
rclone lsd kDrive:
4. Copiar os dados do iCloud para o kDrive
Não utilize sudo para os comandos de cópia se a configuração do rclone tiver sido criada com a sua sessão de utilizador habitual. Caso contrário, o rclone poderá procurar outra configuração e não encontrar os acessos criados anteriormente.
Antes de iniciar uma cópia completa, liste as pastas disponíveis na origem:
rclone lsd iCloudDrive:Recomenda-se realizar um teste sem transferência real com --dry-run:
rclone copy iCloudDrive: kDrive:iCloudDrive --dry-run --progressSe o resultado for correto, inicie a cópia:
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 as pastas, subpastas e arquivos da origem iCloudDrive: para a pasta iCloudDrive do seu kDrive.
Em caso de interrupção da conexão ou do computador, execute o mesmo comando novamente. O rclone retomará a comparação e evitará copiar novamente os arquivos que já estão presentes, desde que o tamanho e as informações disponíveis correspondam.
Para verificar a consistência do volume copiado, você pode comparar a origem e o destino pelo tamanho:
rclone check iCloudDrive: kDrive:iCloudDrive --size-only --one-way --progress
Copiar fotos do iCloud
Se você configurou uma origem dedicada ao iCloud Photos, liste primeiro as bibliotecas e pastas disponíveis:
rclone lsd iCloudPhotos:Em seguida, adapte o caminho da origem de acordo com a estrutura exibida pelo rclone. Exemplo:
rclone copy iCloudPhotos: kDrive:iCloudPhotos --dry-run --progressDepois, inicie a cópia se o resultado do teste for correto:
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. Corrigir as datas das fotos, se necessário
Após uma exportação ou cópia de fotos, as datas do sistema dos arquivos podem não corresponder mais à data original da captura. Se a exibição cronológica não estiver correta, você pode corrigir as datas em uma cópia local dos arquivos antes de enviá-los definitivamente para o kDrive.
Trabalhe sempre em uma cópia local dos arquivos antes de executar um script de correção. O script abaixo não é executado diretamente em uma origem remota do rclone: ele processa uma pasta presente no computador.
Para preparar uma pasta local para correção, copie, por exemplo, as fotos para uma pasta temporária na área de trabalho:
rclone copy iCloudPhotos: "$HOME/Desktop/iCloud-Photos" --progressEm seguida, instale o ExifTool em https://exiftool.org/index.html e execute o script abaixo no macOS a partir do aplicativo Terminal.
O script procura uma data nos metadados do arquivo e, em seguida, no seu nome. Os arquivos corrigidos são listados em DateFound.txt e os arquivos sem uma data utilizável são listados em DateError.txt, na área de trabalho.
O script a ser copiado e colado integralmente:
/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."
BASHApós a correção, envie a pasta local corrigida para o kDrive:
rclone copy "$HOME/Desktop/iCloud-Photos" kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10
6. Acessar os dados a partir do kDrive
Após a conclusão da cópia, seus dados estarão acessíveis a partir do aplicativo web kDrive, dos aplicativos móveis kDrive e dos dispositivos sincronizados com o aplicativo desktop kDrive.
Se você também estiver usando o aplicativo desktop kDrive, aguarde até o final da sincronização local antes de mover ou renomear as pastas importadas.
Link para esta FAQ: https://faq.infomaniak.com/2515
Esta seção de perguntas frequentes foi útil?