Vai al contenuto principale
BlogCalcoloClonazione di contenuti su Linode Object Storage con RClone

Clonazione del contenuto su Linode Object Storage con RClone

Clonare il contenuto su Linode Object Storage con RClone

Quando è necessario spostare una serie di file di grandi dimensioni da una posizione remota a un'altra, in particolare tra diversi servizi cloud, copiare tutti i file dall'origine al computer locale e poi caricarli sulla nuova destinazione può essere un incubo. Immaginate di gestire un terabyte di file. Avete lo spazio di archiviazione necessario sul vostro computer?

Fortunatamente, esiste un modo migliore per gestire questo problema: rclone. Rclone è uno strumento CLI strumento che consente di eseguire operazioni di file batch direttamente tra posizioni remote, sincronizzandole in modo efficiente dall'origine alla destinazione.

In questo post, vi guideremo nell'utilizzo di rclone per copiare i file da un'unità di archiviazione cloud a Linode Object Storage, rendendo il processo il più semplice possibile.

Che cos'è rclone?

Rclone è un programma a riga di comando che gestisce i file sul cloud storage. È come un coltellino svizzero per il cloud storage, in grado di gestire operazioni come la sincronizzazione, la copia e lo spostamento dei file.

Come funziona?

Rclone imposta dei "telecomandi" per ogni servizio cloud con cui si desidera interagire. Una volta configurati, è possibile utilizzare i comandi di rclone per trasferire i dati tra di essi. Sebbene i file passino attraverso il computer locale, non vengono memorizzati a lungo termine.

Cosa si può fare con essa?

Con rclone è possibile:

  • Sincronizzare i file tra diversi servizi cloud.
  • Copiare e spostare i file in modo efficiente.
  • Montare il cloud storage come file system sul computer locale.
  • Crittografia dei file per un'archiviazione sicura.

Rclone supporta molti servizi cloud, tra cui Linode Object Storage, Google Drive, AWS S3 , Nextcloud, e altri ancora. È uno strumento versatile per la gestione dei dati cloud.

Ora che sappiamo cosa può fare rclone, dimostriamo come si può usare per sincronizzare i dati tra Google Drive e Linode Object Storage.

L'uso di rclone comporta il trasferimento dei file dall'origine remota al computer locale prima di spostarli alla destinazione remota. Anche se questi file non sono conservati localmente, i dati viaggiano comunque attraverso la connessione a Internet.

Per ottimizzare il processo e ridurre il carico sulla rete domestica, si consiglia di creare una macchina virtuale Linode. In questo modo, si accorcia il percorso di trasferimento dei dati. 

Per ottimizzare la configurazione, scegliere un Linode nella stessa regione del proprio bucket Linode Object Storage .

Passo 2: Installare rclone

Dopo aver configurato la macchina virtuale Linode, il passo successivo è installare rclone. Per prima cosa, utilizzare SSH per connettersi alla propria istanza Linode. Dalla dashboard di Linode, è possibile connettersi tramite la Console LISH.

Eseguire il seguente comando per scaricare e installare rclone:

~# curl https://rclone.org/install.sh | sudo bash

Verificate che rclone sia installato correttamente eseguendo quanto segue:

~# rclone version
rclone v1.66.0- os/version: debian 11.9 (64 bit)- os/kernel: 5.10.0-28-amd64 (x86_64)- os/type: linux- os/arch: amd64- go/version: go1.22.1- go/linking: static- go/tags: none

Dopo aver confermato che l'installazione è andata a buon fine, si è pronti a configurare rclone con i telecomandi del cloud storage.

Passo 3: Aggiungere un nuovo telecomando (Google Drive) a rclone

Per iniziare a trasferire i file, è necessario impostare rclone per accedere a Google Drive. Per farlo, è necessario ottenere le credenziali. Seguire queste istruzioni per creare un account di servizio e ottenere una chiave pubblica/privata per l'account di servizio. Salvare il file sul computer locale come service-account.json. Quindi, utilizzare SFTP per trasferire questo file alla macchina virtuale Linode (poiché rclone dovrà farvi riferimento).

Con il file chiave dell'account di servizio sulla macchina virtuale Linode, utilizzare il seguente comando per configurare il Google Drive remoto in rclone:

~# rclone config

Seguire le istruzioni per impostare un nuovo telecomando:

  1. Scegliere "n" per un new remote.
  2. Name del telecomando (ad esempio: "gdrive").
  3. Per storage typeselezionare "Google Drive" dall'elenco delle opzioni.
  4. Lasciare vuoto client_id e client_secret.
  5. Scegliere l'opzione appropriata scope. Per i nostri scopi, sceglieremo "Accesso in sola lettura ai metadati e ai contenuti dei file".
  6. Per il file service_account, inserire il percorso del file JSON con le credenziali dell'account di servizio scaricato in precedenza.
  7. Scegliere le impostazioni predefinite per le domande rimanenti.

Per una procedura più dettagliata, è possibile consultare la documentazione di rclone per Google Drive.

Una volta completato, rclone avrà accesso a Google Drive, pronto per le operazioni sui file.

Passo 4: Aggiungere un nuovo remoto (Linode) a rclone

Il passo successivo è quello di impostare un secondo remoto in rclone, che punta a Linode Object Storage. Come nel passo precedente, è necessario ottenere le credenziali del cloud storage.

Le credenziali di Linode Object Storage sono simili alle credenziali di AWS S3 . È possibile ottenere la chiave di accesso e la chiave segreta dal Linode Cloud Manager. Sul sito Object Storage pagina, fare clic su Create Access Key.

Dopo aver creato la chiave di accesso e la chiave segreta, copiarle.

Utilizzare il seguente comando per configurare il Linode remoto in rclone:

~# rclone version

Seguire le istruzioni per impostare un nuovo telecomando:

  1. Scegliere "n" per un new remote.
  2. Name remoto (ad esempio: "linode").
  3. Per storage type, selezionare "Amazon S3 Compliant Storage Providers" dall'elenco delle opzioni.
  4. Per provider, selezionare "Linode Object Storage" dall'elenco delle opzioni.
  5. Selezionare "Inserire le credenziali di AWS nel passaggio successivo".
  6. Per access_key_id, incollare la chiave di accesso copiata in precedenza.
  7. Per secret_access_key, incollare la chiave segreta copiata in precedenza.
  8. Selezionare la regione per il bucket Linode Object Storage .
  9. Scegliere le impostazioni predefinite per le domande rimanenti.

Per i passi dettagliati, consultare la documentazione di rclone per Linode Object Storage.

Una volta completato, rclone avrà accesso al vostro Linode Object Storage, pronto per sincronizzare i file da Google Drive.

Passo 5: sincronizzazione

Con Google Drive e Linode Object Storage configurati come remoti in rclone, è ora possibile sincronizzare i file tra loro.

Per la nostra dimostrazione, vogliamo sincronizzare il contenuto dei dati in Google Drive con una cartella chiamata dati nel nostro bucket Linode Object Storage .

Iniziamo a dare un'occhiata a ciò che c'è nella nostra cartella di Google Drive:

~# rclone size gdrive:/data
Total objects: 4.138k (4138)
Total size: 145.477 KiB (148968 Byte)

Ecco cosa vediamo nel nostro bucket Linode Object Storage :

~# rclone size linode:/data
2024/05/18 16:06:40 Failed to size: directory not found

Come previsto, la cartella dei dati non esiste (ancora).

Per sincronizzare i nostri file, possiamo usare il seguente comando di base:

~# rclone sync gdrive:/data linode:/data

Questo comando copia i file da Google Drive (origine) a Linode Object Storage (destinazione).

Se si volesse monitorare il processo di trasferimento, si aggiungerebbe il flag -progress:

~# rclone sync \     gdrive:/data \     linode:/data \     --progress

È possibile ottimizzare ulteriormente il processo di sincronizzazione configurando il numero di trasferimenti simultanei con il flag -transfers:

~# rclone sync \     gdrive:/data \     linode:/data \     --progress –transfers=8

Quando inizia la sincronizzazione, vediamo rclone aggiornare costantemente gli stati dei trasferimenti:

Transferred:        6.152 KiB / 145.195 KiB, 4%, 421 B/s, ETA 5m37s
Transferred:        175 / 4138, 4%
Elapsed time:       16.1s
Transferring:
*    6/09843537-bc73-4def-a900-eb229b3ea126.txt: transferring
*    6/0a8fdcd4-2ded-4e69-8c08-37cbc74a3546.txt: transferring
*    6/0aed5c04-4a1b-4c6d-9fb8-7e490a959587.txt: transferring
*    6/0b35ae54-fae6-45f3-8f68-1445d8433e10.txt: transferring
*    6/0b9c8a7c-e6a9-44a3-8e89-28cb9e0fd695.txt: transferring
*    6/0bfddb9a-4f06-409b-ad6b-ee3c741dcf95.txt: transferring
*    6/0c2ebdda-87b7-44cf-9d9c-3e802880fc9c.txt: transferring
*    6/0c5a9407-ed90-40e1-85b3-18054f845cec.txt: transferring

Dopo la sincronizzazione iniziale, possiamo rieseguire il comando per assicurarci che tutti i file siano aggiornati. Rclone trasferisce solo i file nuovi o modificati, rendendo più veloci le sincronizzazioni successive.

~# rclone sync gdrive:/data linode:/data --progress
Transferred:        0 B / 0 B, -, 0 B/s, ETA -
Checks:             4138 / 4138, 100%
Elapsed time:       10.0s

Questa fase assicura che i file siano trasferiti in modo efficiente e mantenuti sincronizzati tra Google Drive e Linode Object Storage.

Conclusione

In questo post, vi abbiamo illustrato come utilizzare rclone per trasferire in modo efficiente i file da Google Drive a Linode Object Storage. Sebbene per la nostra dimostrazione abbiamo utilizzato specificamente Google Drive e Linode Object Storage , rclone supporta decine di provider di cloud storage.

Ricapitolando:

  • Rclone consente di eseguire operazioni batch sui file direttamente tra i servizi cloud.
  • L'impostazione di una macchina virtuale Linode nella stessa regione del Linode Object Storage può ottimizzare i trasferimenti.
  • La configurazione di rclone con Google Drive e i telecomandi Linode Object Storage è semplice e potente.
  • L'uso della funzione di sincronizzazione di rclone aiuta a mantenere i file aggiornati senza interventi manuali.

Siete pronti a semplificare i trasferimenti di file? Provate oggi stesso Linode Object Storage e scoprite come può essere facile gestire i vostri dati nel cloud!

Commenti

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *