introduction
DigitalOcean Spaces est un service de stockage d'objets conçu pour rendre facile et rentable le stockage et la diffusion de grandes quantités de données.
Dans ce guide, nous expliquerons comment migrer des données entre les régions Spaces, en utilisantRclone pour transférer des données entre deux Spaces. Nous montrerons comment installer Rclone, les paramètres de configuration nécessaires pour accéder à plusieurs régions et les commandes que vous pouvez utiliser pour synchroniser vos fichiers entre des régions et vérifier leur intégrité.
Création de clés API et recherche d'espaces Informations sur les points de terminaison
Avant de commencer à installer et à configurer Rclone pour copier nos objets entre espaces, nous avons besoin d'informations sur notre compte DigitalOcean Spaces. Nous aurons besoin d'une clé API Spaces et nous aurons besoin de connaître les régions et les noms de nos espaces source et de destination.
Génération d'une clé API DigitalOcean Spaces
Pour créer une clé API DigitalOcean Spaces, suivez la section «Créer une clé d'accès» de notre documentation deHow To Create a DigitalOcean Space API Key.
Enregistrez l'ID de la clé d'accès et la clé secrète. Nous les utiliserons plus tard pour configurer Rclone pour accéder à notre compte.
Recherche des points d'extrémité compatibles S3
Ensuite, nous devons trouver le point de terminaison pour chaque espace. Vous pouvez afficher le point de terminaison de l’espace dans le panneau de configuration DigitalOcean en sélectionnant l’espace et en affichant l’ongletSettings:
Le point final sera toujours la région dans laquelle vous avez créé l'espace, suivi de.digitaloceanspaces.com
. Notez le point final pour vos deux espaces. Allons-nous utiliser ces informations lors de la création de notre configurationrclone
.
Installer Rclone
Vous êtes maintenant prêt à installerRclone. Vous pouvez le faire sur votre ordinateur local ou, si vous êtes limité en bande passante, vous souhaiterez peut-être installer Rclone sur un droplet situé dans la région des espaces source ou cible.
Visitez la sectionDownloads du site Web du projet pour trouver les binaires de l'utilitaire compilé pour différentes plates-formes. Téléchargez le fichier binaire compressé correspondant au système d'exploitation de votre ordinateur pour commencer.
Une fois le fichier zip Rclone téléchargé sur votre ordinateur, suivez la section ci-dessous qui correspond à votre plate-forme.
Linux
Avant de pouvoir extraire l'archive, nous devrons nous assurer que l'utilitaireunzip
est disponible.
Si vous exécutezUbuntu ouDebian, vous pouvez mettre à jour l'index du package local et installerunzip
en tapant:
sudo apt update
sudo apt install unzip
Si vous exécutezCentOS ouFedora, vous pouvez installerunzip
en tapant:
sudo yum install unzip
Une foisunzip
installé, accédez au répertoire dans lequel vous avez téléchargé le fichier zip derclone
:
cd ~/Downloads
Ensuite, décompressez l'archive et accédez au répertoire nouvellement créé:
unzip rclone*
cd rclone-v*
De là, nous pouvons copier le binaire dans le répertoire/usr/local/bin
afin qu'il soit disponible à l'échelle du système:
sudo cp rclone /usr/local/bin
Ensuite, nous ajoutons la page de manuel à notre système, de manière à pouvoir obtenir facilement de l’aide sur la syntaxe de la commande et les options disponibles. Assurez-vous que le répertoire manuel local est disponible, puis copiez le fichierrclone.1
:
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1
Puis mettez à jour la base de donnéesman
pour ajouter la nouvelle page de manuel au système:
sudo mandb
Enfin, nous pouvons créer le répertoire de configuration Rclone et ouvrir un fichier de configuration:
mkdir -p ~/.config/rclone
nano ~/.config/rclone/rclone.conf
Cela ouvrira votre éditeur de texte avec un nouveau fichier vierge. Passez à la section surConfiguring Rclone pour continuer.
macOS
Si vous exécutez macOS, commencez par naviguer dans le terminal jusqu'au répertoire où vous avez téléchargé le fichier zip derclone
:
cd ~/Downloads
Ensuite, décompressez le fichier et déplacez-vous dans le répertoire nouvellement créé:
unzip -a rclone*
cd rclone-v*
Ensuite, assurez-vous que le répertoire/usr/local/bin
est disponible, puis copiez-y le binairerclone
:
sudo mkdir -p /usr/local/bin
sudo cp rclone /usr/local/bin
Enfin, nous pouvons créer le répertoire de configuration et ouvrir un fichier de configuration:
mkdir -p ~/.config/rclone
nano ~/.config/rclone/rclone.conf
Cela ouvrira votre éditeur de texte avec un nouveau fichier vierge. Passez à la section surConfiguring Rclone pour continuer.
les fenêtres
Si vous utilisez Windows, commencez par naviguer dans le répertoire Téléchargements de l'explorateur de fichiers Windows. Sélectionnez le fichier zip derclone
et cliquez avec le bouton droit de la souris. Dans le menu contextuel qui apparaît, cliquez surExtract All…:
Suivez les instructions pour extraire les fichiers de l’archive zip.
L'utilitairerclone.exe
doit être exécuté à partir de la ligne de commande. Ouvrez une nouvelle fenêtreCommand Prompt (le programmecmd.exe
) en cliquant sur le bouton Windows dans le coin inférieur gauche, en tapantcmd et en sélectionnantCommand Prompt.
À l'intérieur, accédez au cheminrclone
que vous avez extrait en tapant:
cd "%HOMEPATH%\Downloads\rclone*\rclone*"
Répertoriez le contenu du répertoire pour vérifier que vous êtes au bon endroit:
dir
Output10/23/2017 01:02 PM .
10/23/2017 01:02 PM ..
10/23/2017 01:02 PM 17 git-log.txt
10/23/2017 01:02 PM 296,086 rclone.1
10/23/2017 01:02 PM 16,840,192 rclone.exe
10/23/2017 01:02 PM 315,539 README.html
10/23/2017 01:02 PM 261,497 README.txt
5 File(s) 17,713,331 bytes
2 Dir(s) 183,296,266,240 bytes free
Vous devrez être dans ce répertoire chaque fois que vous voudrez utiliser la commanderclone.exe
.
[.note] #Note: Sous macOS et Linux, nous exécutons l'outil en tapantrclone
, mais sous Windows, la commande s'appellerclone.exe
. Tout au long du reste de ce guide, nous fournirons des commandes en tant querclone
, alors assurez-vous de remplacerrclone.exe
à chaque fois lors de l'exécution sous Windows.
#
Ensuite, nous pouvons créer le répertoire de configuration et ouvrir un fichier de configuration pour définir nos informations d'identification S3 et Spaces:
mkdir "%HOMEPATH%\.config\rclone"
notepad "%HOMEPATH%\.config\rclone\rclone.conf"
Cela ouvrira votre éditeur de texte avec un nouveau fichier vierge. Continuez à l'avance pour apprendre à définir vos régions Spaces dans le fichier de configuration.
Configuration de Rclone
Nous allons configurer nos deux régions DigitalOcean Spaces en tant que «télécommandes» Rclone dans le fichier de configuration Rclone. Collez la section suivante dans le fichier de configuration pour définir la première région:
~/.config/rclone/rclone.conf
[spaces-sfo2]
type = s3
env_auth = false
access_key_id = your_spaces_access_key
secret_access_key = your_spaces_secret_key
endpoint = sfo2.digitaloceanspaces.com
acl = private
Ici, nous définissons un nouveaurclone
«distant» nomméspaces-sfo2
. Changez le nom de la région pour qu'elle corresponde à la région Spaces que vous configurez.
Nous définissons letype
surs3
afin querclone
connaisse la manière appropriée d'interagir avec et de gérer la ressource de stockage distant. Nous définirons les informations d'identification d'accès aux espaces dans ce fichier de configuration, afin que nous puissions définirenv_auth
surfalse
.
Ensuite, nous définissons les variablesaccess_key_id
etsecret_access_key
sur notre clé d'accès Spaces et notre clé secrète, respectivement. Veillez à remplacer les valeurs par les informations d'identification associées à votre compte.
Nous définissons lesendpoint
sur le point de terminaison Spaces que nous avons recherché plus tôt.
Enfin, nous définissons lesacl
surprivate
pour protéger nos actifs jusqu'à ce que nous voulions les partager.
Ensuite, faites une copie du bloc de configuration que vous venez de créer, puis mettez à jour le nom et la région de noeud final pour refléter votre deuxième région:
~/.config/rclone/rclone.conf
. . .
[spaces-nyc3]
type = s3
env_auth = false
access_key_id = your_spaces_access_key
secret_access_key = your_spaces_secret_key
endpoint = nyc3.digitaloceanspaces.com
acl = private
Le reste de la configuration doit rester identique à celui de la première région. Enregistrez et fermez le fichier lorsque vous avez terminé.
Sous macOS et Linux, assurez-vous de verrouiller les autorisations du fichier de configuration car nos informations d'identification sont à l'intérieur:
chmod 600 ~/.config/rclone/rclone.conf
Sous Windows, les autorisations sont refusées aux utilisateurs non-administrateurs, sauf autorisation explicite. Nous ne devrions donc pas avoir à ajuster les accès manuellement.
Ensuite, nous utiliseronsrclone
pour explorer nos espaces et synchroniser les données entre eux.
Copier des objets de S3 vers des espaces
Maintenant que notre configuration est terminée, nous sommes prêts à transférer nos fichiers.
Commencez par vérifier les télécommandes configuréesrclone
:
rclone listremotes
Outputspaces-nyc3:
spaces-sfo2:
Les deux régions que nous avons définies sont affichées.
Nous pouvons voir les espaces disponibles en demandant àrclone
de lister les «répertoires» associés aux télécommandes (assurez-vous d'ajouter les deux points à la fin du nom distant):
rclone lsd spaces-sfo2:
Output -1 2019-09-23 13:07:54 -1 source-space
La sortie ci-dessus indique qu'un espace, appelésource-space
a été trouvé dans la régionsfo2
.
Vous pouvez répéter la procédure pour voir l’autre région:
rclone lsd spaces-nyc3:
Output -1 2019-09-23 13:08:28 -1 destination-space
Pour afficher le contenu d'un espace, vous pouvez utiliser la commandetree
. Entrez le nom distant, suivi de deux points et du nom du “répertoire” que vous souhaitez lister (le nom de l’espace):
rclone tree spaces-sfo2:source-space
Output/
├── Photos
│ ├── 2019.01.24-23.10.27.png
│ ├── 2019.01.24-23.11.39.png
│ ├── 2019.01.24-23.18.00.png
│ ├── 2019.01.24-23.18.18.png
│ ├── 2019.01.24-23.18.30.png
│ ├── 2019.01.24-23.19.32.png
│ ├── 2019.01.24-23.23.06.png
│ ├── 2019.01.24-23.23.53.png
│ ├── 2019.01.24-23.25.14.png
│ ├── 2019.01.24-23.26.22.png
│ ├── 2019.01.25-12.43.35.png
│ ├── 2019.03.13-14.35.34.png
│ └── 2019.03.13-14.40.52.png
└── Photos.zip
1 directories, 14 files
Lorsque vous êtes prêt, vous pouvez copier les fichiers entre les espaces en tapant:
rclone sync spaces-sfo2:source-space spaces-nyc3:destination-space
En supposant que tout s'est bien passé,rclone
commencera à copier des objets entre les deux espaces.
[.note] #Note: Si vous n’avez pas encore créé l’espace de destination dans la région spécifiée,rclone
tentera de vous en créer un avec le nom donné. Cela échouera si le nom fourni est déjà utilisé par un autre compte ou si le nom ne répond pas aux exigences de dénomination pour les espaces DigitalOcean (lettres minuscules, chiffres et tirets uniquement).
#
Lorsque le transfert est terminé, vous pouvez vérifier que les objets ont été transférés en les visualisant avec la sous-commandetree
:
rclone tree spaces-nyc3:destination-space
Output/
├── Photos
│ ├── 2019.01.24-23.10.27.png
│ ├── 2019.01.24-23.11.39.png
│ ├── 2019.01.24-23.18.00.png
│ ├── 2019.01.24-23.18.18.png
│ ├── 2019.01.24-23.18.30.png
│ ├── 2019.01.24-23.19.32.png
│ ├── 2019.01.24-23.23.06.png
│ ├── 2019.01.24-23.23.53.png
│ ├── 2019.01.24-23.25.14.png
│ ├── 2019.01.24-23.26.22.png
│ ├── 2019.01.25-12.43.35.png
│ ├── 2019.03.13-14.35.34.png
│ └── 2019.03.13-14.40.52.png
└── Photos.zip
1 directories, 14 files
Pour une vérification plus robuste, utilisez la sous-commandecheck
pour comparer les objets dans les deux régions:
rclone check spaces-sfo2:source-space spaces-nyc3:destination-space
Output2019/09/23 14:29:11 NOTICE: S3 bucket destination-space: 0 differences found
2019/09/23 14:29:11 NOTICE: S3 bucket destination-space: 14 matching files
Cela permettra de comparer les valeurs de hachage de chaque objet dans les deux télécommandes. Il se peut que vous receviez un message indiquant que certains hachages ne peuvent pas être comparés. Dans ce cas, vous pouvez réexécuter la commande avec l'indicateur--size-only
(qui se compare simplement en fonction de la taille du fichier) ou l'indicateur--download
(qui télécharge chaque objet des deux télécommandes pour comparer localement) pour vérifier le transfert intégrité.
Conclusion
Dans ce guide, nous avons expliqué comment transférer des objets entre deux régions DigitalOcean Spaces. Nous avons rassemblé les informations d'identification d'API et les informations de point de terminaison du service Spaces, installé et configuré l'utilitairerclone
sur notre ordinateur local, puis copié tous les objets d'un espace source vers un espace de destination.
Le clientrclone
peut être utilisé pour de nombreuses autres tâches de gestion de stockage d'objets, notamment le téléchargement ou le téléchargement de fichiers, le montage d'espaces sur le système de fichiers local et la création ou la suppression d'espaces supplémentaires. Consultez la pageman
pour en savoir plus sur les fonctionnalités fournies par l'outil.