Jump to content
  • 0

Spostare i file tra due CDN


Askancy

Question

  • Admin

035575f2985fe451d86e717d73691e533a1a00545d7230900ed786341dc3c882.png

 

Può capire che per diminuire i costi ci troviamo costretti a spostare dei file da un CDN all'altro, e molto spesso quando si ha a che fare con un CDN è perché la quantità di file è davvero tanta.

Per evitare di doverci scaricare centinaia di GB di file e doverla ricaricare, ecco che ci vengono in soccorso alcuni software. Attenzione però, se pensavate che il trasferimento avvenisse tra AWS e DigitalOcean è sbagliato, il trasferimento dei dati è AWS -> Vostro PC -> DigitalOcean, quindi farà uso della vostra banda. Il mio consiglio è quello i creare un droplet e installare rclone su un VPS così da avere maggior banda in download e upload, in questa guida però, mostrerò come usarlo su Windows.

In questa guida guardiamo come effettuare il passaggio dei file da un Amazon AWS S3 a un DigitalOcean Spaces. Qui evitiamo di spiegare come creare i permessi utenti, creare un bucket e altro, diamo per scontato che utilizzando questi servizi, voi conosciate già queste cose basilari.

Per effettuare il trasferimento dei dati utilizziamo il software RClone, su ambiente windows.

RCLONE.ORG

Rclone syncs your files to cloud storage: Google Drive, S3, Swift, Dropbox, Google Cloud Storage, Azure, Box and many more.

Una volta scaricato il pacchetto per windows, estraiamolo sul desktop. Il file eseguibile (exe) che trovate all'interno non funzionerà, perché dovrà essere eseguito tramite riga di comando.

Apriamo una finestra del prompt dei comandi di windows con i permessi da amministratore(tasto destro sull'icona del prompt dei comandi-> eseguito come amministratore).

Adesso rechiamoci sul programma con il prompt dei comandi

  • cd C:\Users\NOMEUTENTE\Desktop\rclone

per verificare che vi troviate nella cartella corretta, digitate

  • dir

per avere un output del genere:

 Directory di C:\Users\Daniele\Desktop\rclone

03/10/2021  23:05    <DIR>          .
03/10/2021  23:05    <DIR>          ..
01/10/2021  19:21             1.131 git-log.txt
01/10/2021  19:09         1.508.046 rclone.1
01/10/2021  19:23        44.712.960 rclone.exe
01/10/2021  19:09         1.602.840 README.html
01/10/2021  19:09         1.315.218 README.txt
               6 File     49.140.614 byte
               4 Directory  190.329.556.992 byte disponibili

Adesso sarà necessario creare un file config, dove andremo a mettere i dati dei nostro CDN.

Apri il tuo editor di test e incolla questo schema:

[s3]
type = s3
env_auth = false
access_key_id = 
secret_access_key = 
region = 
location_constraint = 
acl = 

[spaces]
type = s3
env_auth = false
access_key_id = 
secret_access_key = 
endpoint = 
acl =

Come è intuibile nel primo [s3] dovrete mettere i dati di accesso al bucket di AWS S3 mentre nel secondo quelli di spaces.

in ACL invece, dovete mettere la policy da usare per i file, spaces a contrario di AWS S3 non accetta il termine public, quindi si vorrete trasportare i file su spaces, utilizzando l'equivalente della policy public di S3 dovrete mettere public-read

una volta compilato, salvate il file nella cartella di rclone chiamando il file rclone.conf.

Per verificare che abbiate configurato tutto correttamente, tramite il prompt dei comandi che abbiamo aperto precedentemente scriviamo:

  • rclone listremotes

Il suo output:

C:\ > rclone listremotes
s3:
spaces:

Come potete vedere entrambi i nostri bucket vengono visualizzati, adesso però, possiamo chiedere a rclone di elencare le "directory" associate all'S3, assicuratevi di aggiungere i due punti alla fine del comando:

  • rclone lsd s3:

Output:

-1 2017-10-20 15:32:28        -1 source-of-files

L'output indica che il bucket su S3: si chiama source-of-files.

ripetete la procedura per spaces per verificare che sia configurato correttamente.

Se tutto ha funzionato adesso, possiamo procedere con la copia dei file:

  • rclone sync s3: spaces:

Questo comando va a copiare tutti i tuoi bucket di S3 e li va a creare su Spaces, mentre invece, vuoi copiare solo una cartella in un bucket esistente, ti basta specificarlo dopo i due punti:

  • rclone sync s3:source-of-files spaces:dest-of-files

Adesso ti basta andare sul pannello di Spaces e vedere lo spazio occupato che aumenta, questo vuol dire che la copia dei file sta procedendo bene.

Una volta terminato, puoi vedere i file trasferiti usando:

  • rclone tree spaces:

Se invece vuoi effettuare un confronto tra gli oggetti e verificare se si sono verificati dei problemi durante il trasferimento usate il comando check:

  • rclone check s3:source-of-files spaces:dest-of-files

Output:

Cita

2017/10/25 19:51:36 NOTICE: S3 bucket dest-of-files: 0 differences found

2017/10/25 19:51:36 NOTICE: S3 bucket dest-of-files: 2 hashes could not be checked

 

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. to insert a cookie message.