Utilizzo rclone
Come ottenere il massimo da IBM Cloud® Object Storage quando hai accesso a strumenti e soluzioni come rclone e cli (command-line interface).
Installa rclone
Lo strumento rclone è utile per mantenere sincronizzate le directory e per migrare i dati tra le piattaforme di archiviazione. È un programma Go e viene fornito come un singolo file binario.
Installazione rapida
- Scarica il file binario pertinente.
- Estrai il file binario
rcloneorclone.exedall'archivio. - Esegui
rclone configper la configurazione.
Installazione utilizzando uno script
Installa rclone sui sistemi Linux/macOS/BSD:
curl https://rclone.org/install.sh | sudo bash
Sono disponibili anche le versioni beta:
curl https://rclone.org/install.sh | sudo bash -s beta
Lo script di installazione controlla innanzitutto la versione installata di rclone e non scarica alcun file se la versione corrente è già aggiornata.
Linux installazione da binario precompilato
-
Scarica e decomprimi il file binario:
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64 -
Copia il file binario in una posizione appropriata:
sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone -
Installa la documentazione:
sudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb -
Esegui
rclone configper la configurazione:rclone config
macOS installazione da binario precompilato
-
Scarica il
rclonepacchetto:cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip -
Estrai il file scaricato e
cdnella cartella estratta:unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64 -
Sposta
rclonenel tuo$PATHe immetti la tua password quando richiesto:sudo mkdir -p /usr/local/bin sudo mv rclone /usr/local/bin/Il comando
mkdirè sicuro da eseguire, anche se la directory esiste. -
Rimuovi i file rimanenti.
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip -
Esegui
rclone configper la configurazione:rclone config
Configura l'accesso a IBM COS
-
Esegui
rclone confige selezionanper un nuovo remoto.No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n -
Immetti il nome per la configurazione:
name> <YOUR NAME> -
Seleziona l'archivio “s3”.
Choose a number from below, or type in your own value 1 / Alias for a existing remote \ "alias" 2 / Amazon Drive \ "amazon cloud drive" 3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, Minio, IBM COS) \ "s3" 4 / Backblaze B2 \ "b2" [snip] 23 / http Connection \ "http" Storage> 3 -
Seleziona IBM COS come il provider di archiviazione S3.
Choose the S3 provider. Enter a string value. Press Enter for the default ("") Choose a number from below, or type in your own value 1 / Amazon Web Services (AWS) S3 \ "AWS" 2 / Ceph Object Storage \ "Ceph" 3 / Digital Ocean Spaces \ "Digital Ocean" 4 / Dreamhost DreamObjects \ "Dreamhost" 5 / IBM COS S3 \ "IBMCOS" [snip] Provider>5 -
Immetti False per immettere le tue credenziali.
Get AWS credentials from the runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. Enter a boolean value (true or false). Please Enter for the default ("false"). Choose a number from below, or type in your own value 1 / Enter AWS credentials in the next step \ "false" 2 / Get AWS credentials from the environment (env vars or IAM) \ "true" env_auth>false -
Immetti la chiave di accesso e il segreto.
AWS Access Key ID - leave blank for anonymous access or runtime credentials. access_key_id> <> AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. secret_access_key> <> -
Specifica l'endpoint per IBM COS. Per IBM COS pubblico, scegli tra le opzioni fornite. Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione.
Endpoint for IBM COS S3 API. Choose a number from below, or type in your own value 1 / US Cross Region Endpoint \ "s3.us.cloud-object-storage.appdomain.cloud" 2 / US Cross Region Dallas Endpoint \ "s3-api.dal.us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net" 3 / US Cross Region Washington DC Endpoint \ "s3-api.wdc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net" 4 / US Cross Region San Jose Endpoint \ "s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net" 5 / US Cross Region Private Endpoint \ "s3-api.us-geo.objectstorage.service.networklayer.com" [snip] 34 / Toronto Single Site Private Endpoint \ "s3.tor01.objectstorage.service.networklayer.com" endpoint>1 -
Specifica un vincolo di ubicazione IBM COS. Il vincolo di ubicazione deve corrispondere all'endpoint. Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione.
1 / US Cross Region Standard \ "us-standard" 2 / US Cross Region Vault \ "us-vault" 3 / US Cross Region Cold \ "us-cold" 4 / US Cross Region Flex \ "us-flex" 5 / US East Region Standard \ "us-east-standard" [snip] 32 / Toronto Flex \ "tor01-flex" location_constraint>1 -
Specifica un ACL. Sono supportati solo
public-readeprivate.Canned ACL used when creating buckets or storing objects in S3. Choose a number from below, or type in your own value 1 "private" 2 "public-read" acl>1 -
Esamina la configurazione visualizzata e accetta di salvare il “remoto”, quindi esci. Il file di configurazione dovrebbe essere simile a questo
[YOUR NAME] type = s3 Provider = IBMCOS access_key_id = xxx secret_access_key = yyy endpoint = s3.us.cloud-object-storage.appdomain.cloud location_constraint = us-standard acl = private
Riferimento ai comandi
Per il seguente elenco di comandi di uso comune, REMOTE_NAME è il nome che hai inserito per la configurazione quando hai configurato l'accesso a IBM Cloud Object Storage e BUCKET_NAME è il nome di un bucket.
Crea un bucket
rclone mkdir REMOTE_NAME:BUCKET_NAME
Elenca i bucket disponibili
rclone lsd REMOTE_NAME:
Elenca il contenuto di un bucket
rclone ls REMOTE_NAME:BUCKET_NAME
Copia un file dal locale al remoto
rclone copy /Users/file.txt REMOTE_NAME:BUCKET_NAME
Copia un file dal remoto al locale
rclone copy REMOTE_NAME:BUCKET_NAME/file.txt /Users/Documents/
Elimina un file sul remoto
rclone delete REMOTE_NAME:BUCKET_NAME/file.txt
Comandi di elenco
Esistono diversi comandi relativi agli elenchi:
lsper elencare solo la dimensione e il percorso degli oggettilslper elencare solo l'ora di modifica, la dimensione e il percorso degli oggettilsdper elencare solo le directorylsfper elencare gli oggetti e le directory in un formato facile da analizzarelsjsonper elencare gli oggetti e le directory in formato JSON
rclone sync
L'operazione sync rende identici l'origine e la destinazione e modifica solo la destinazione. La sincronizzazione non trasferisce i file invariati, viene controllata la dimensione e l'ora di modifica oppure MD5SUM. La destinazione
viene aggiornata in modo da corrispondere all'origine, inclusa l'eliminazione di file, se necessario.
Poiché questa operazione può causare la perdita di dati, verifica innanzitutto l'indicatore --dry-run per vedere esattamente cosa dovrebbe essere copiato ed eliminato.
I file nella destinazione non vengono eliminati se ci sono errori in qualsiasi punto.
Vengono sincronizzati i contenuti della directory, non la directory stessa. Quando source:path è una directory, è il contenuto di source:path ad essere copiato, non il nome della directory e il contenuto. Per
ulteriori informazioni, vedi la spiegazione estesa nel comando copy.
Se dest:path non esiste, viene creato e il contenuto di source:path viene copiato in esso.
rclone sync source:path dest:path [flags]
Utilizzo di rclone da più ubicazioni simultaneamente
Puoi utilizzare rclone da più ubicazioni simultaneamente se scegli una directory secondaria diversa per l'output:
Server A> rclone sync /tmp/whatever remote:ServerA
Server B> rclone sync /tmp/whatever remote:ServerB
Se esegui la sincronizzazione (sync) nella stessa directory, puoi utilizzare rclone copy altrimenti i due processi potrebbero eliminare l'uno i file dell'altro:
Server A> rclone copy /tmp/whatever remote:Backup
Server B> rclone copy /tmp/whatever remote:Backup
--backup-dir=DIR
Quando utilizzi sync, copy o move, i file che sono stati sovrascritti o eliminati vengono spostati nella loro gerarchia originale in questa directory.
Se --suffix è impostato, ai file spostati viene aggiunto il suffisso. Se è presente un file con lo stesso percorso (dopo l'aggiunta del suffisso) nella directory, viene sovrascritto.
Il remoto in uso deve supportare lo spostamento o la copia del lato server e devi utilizzare lo stesso remoto della destinazione della sincronizzazione. La directory di backup non deve sovrapporsi a quella di destinazione.
rclone sync /path/to/local remote:current --backup-dir remote:old
sincronizzerà (sync) /path/to/local in remote:current, ma per i file che sono stati aggiornati o eliminati, verranno archiviati in remote:old.
Se esegui rclone da uno script, potresti voler utilizzare la data di oggi come il nome directory passato a --backup-dir per archiviare i file più vecchi oppure potresti voler passare --suffix con la data
di oggi.
rclone daily sync
La pianificazione di un backup è importante per automatizzare i backup. Tale procedura varia a seconda della tua piattaforma. Windows può utilizzare l'Utilità di pianificazione (Task Scheduler) mentre MacOS e Linux possono utilizzare i crontab.
Sincronizzazione di una directory
Rclone sincronizza una directory locale con il contenitore remoto, memorizzando tutti i file nella directory locale nel contenitore. Rclone utilizza la sintassi, rclone sync source destination, dove source è la cartella locale e destination è il contenitore all'interno di IBM COS.
rclone sync /path/to/my/backup/directory REMOTE_NAME:BUCKET_NAME
È possibile che tu abbia già una destinazione che è stata creata, ma se questo non fosse il caso, puoi creare un nuovo bucket utilizzando i passi sopra riportati.
Pianificazione di un lavoro
Prima di pianificare un lavoro, assicurati di aver eseguito il tuo caricamento iniziale e di averlo completato.
Windows
-
Crea un file di testo denominato
backup.batsul tuo computer e incollalo nel comando che hai utilizzato nella sezione relativa alla sincronizzazione di una directory. Specificare il percorso completo del filerclone.exee non dimenticare di salvare il file.C:\full\path\to\rclone.exe sync "C:\path\to\my\backup\directory" REMOTE_NAME:BUCKET_NAME -
Utilizza
schtasksper pianificare un lavoro. Questo programma di utilità utilizza diversi parametri.
-
/RU – l'utente con il quale eseguire il lavoro. È necessario se l'utente che vuoi utilizzare si è scollegato.
-
/RP – la password per l'utente.
-
/SC – impostato su DAILY
-
/TN – il nome del lavoro. Chiamalo backup
-
/TR – il percorso al file backup.bat che hai creato.
-
/ST – l'ora di inizio dell'attività. Questo è nel formato di 24 ore. 01:05:00 è 1:05 AM. 13:05:00 è 13:05 PM.
schtasks /Create /RU username /RP "password" /SC DAILY /TN Backup /TR C:\path\to\backup.bat /ST 01:05:00
Mac e Linux
-
Crea un file di testo denominato
backup.shsul tuo computer e incolla il comando che hai utilizzato nella sezione relativa alla sincronizzazione di una directory. È qualcosa di simile a quanto riportato di seguito. Specificare il percorso completorclonedell'eseguibile e non dimenticare di salvare il file.#!/bin/sh /full/path/to/rclone sync /path/to/my/backup/directory REMOTE_NAME:BUCKET_NAME -
Rendi eseguibile lo script con
chmod.chmod +x backup.sh -
Modifica i crontab.
sudo crontab -e -
Aggiungi una voce alla fine del file dei crontab. I crontab sono semplici: i primi cinque campi descrivono, nell'ordine,, minuti, ore, giorni, mesi e giorni feriali. L'utilizzo di * indica tutti. Per fare in modo che
backup.shvenga eseguito ogni giorno alle 1:05 AM, utilizza qualcosa di simile a questo:5 1 * * * /full/path/to/backup.sh -
Salva i crontab e sei pronto a iniziare.