Rclone - Synchroniser les répertoires de fichiers à partir de différents stockages en nuage
Rclone est un programme en ligne de commande écrit en langage Go, utilisé pour synchroniser des fichiers et des répertoires de différents fournisseurs de stockage en nuage tels que : Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Google Cloud Storage, Google Drive, etc.
Comme vous le voyez, il prend en charge plusieurs plates-formes, ce qui en fait un outil utile pour synchroniser vos données entre les serveurs ou vers un stockage privé.
Rclone est livré avec les fonctionnalités suivantes
- Le hachage MD5/SHA1 vérifie à tout moment l’intégrité des fichiers.
- Les horodatages sont conservés dans les fichiers.
- Synchronisations partielles prises en charge sur la base d’un fichier entier.
- Mode de copie pour les fichiers nouveaux ou modifiés.
- Synchronisation unidirectionnelle pour rendre un répertoire identique.
- Mode de vérification – vérification de l’égalité de hachage.
- Peut se synchroniser vers et depuis le réseau, par exemple deux comptes cloud différents.
- (Cryptage).
- (Cache) backend.
- backend (Union).
- Support FUSE en option (montage rclone).
Comment installer rclone dans les systèmes Linux
L’installation de rclone peut être réalisée de deux manières différentes. Le plus simple est d’utiliser leur script d’installation, en exécutant la commande suivante.
# curl https://rclone.org/install.sh | sudo bash
Ce script permet de vérifier le type de système d’exploitation sur lequel il est exécuté et de télécharger l’archive liée à ce système d’exploitation. Ensuite, il extrait l’archive et copie le binaire rclone dans /usr/bin/rclone et donne 755 permissions sur le fichier.
À la fin, une fois l’installation terminée, vous devriez voir la ligne suivante :
Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for more details.
La deuxième façon d’installer rclone est d’exécuter les commandes suivantes.
# curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
Copiez maintenant le fichier binaire et donnez-lui les autorisations exécutables.
# cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone
Installez rclone manpage.
# mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb
Comment configurer rclone dans les systèmes Linux
Ensuite, ce que vous devrez faire est d’exécuter la configuration rclone pour créer votre fichier de configuration. Il sera utilisé pour l’authentification en vue d’une utilisation future de rclone. Pour exécuter la configuration et la configuration, exécutez la commande suivante.
# rclone config
L’invite suivante s’affiche :
2018/11/13 11:39:58 NOTICE: Config file “/home/user/.config/rclone/rclone.conf” not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>
Les options sont les suivantes :
- n) – Créer une nouvelle connexion à distance
- s) – définissez la protection par mot de passe pour votre configuration
- q) – quitter la configuration
Pour les besoins de ce tutoriel, appuyons sur « n » et créons une nouvelle connexion. Il vous sera demandé de donner un nom à la nouvelle connexion. Après cela, vous serez invité à sélectionner le type de stockage à configurer :
J’ai nommé par connexion « Google » et sélectionné « Google Drive », qui se trouve sous le numéro 12. Le reste des questions, vous pouvez répondre en laissant simplement la réponse par défaut, qui est un " « .
Lorsqu’on vous le demande, vous pouvez sélectionner « autoconfig », qui générera toutes les informations requises pour se connecter à votre Google Drive et donnera à rclone les autorisations d’utiliser les données de Google Drive.
Le processus ressemble à ceci :
Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
2 / Read-only access to file metadata and file contents.
\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> 1
ID of the root folder - leave blank normally. Fill in to access "Computers" folders. (see docs).
root_folder_id>
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id =
client_secret =
scope = drive
root_folder_id =
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Comment utiliser rclone dans les systèmes Linux
Rclone a une liste assez longue d’options et de commandes disponibles avec lesquelles on peut l’utiliser. Nous allons essayer de couvrir quelques-uns des plus importants :
Liste des répertoires distants
# rclone lsd <remote-dir-name>:
Copier des données avec rclone
# rclone copy source:sourcepath dest:destpath
Notez que si rclone trouve des doublons, ceux-ci seront ignorés :
Synchroniser les données avec rclone
Si vous souhaitez synchroniser des données entre des répertoires, vous devez utiliser rclone avec la commande sync.
La commande doit ressembler à ceci :
# rclone sync source:path dest:path [flags]
Dans ce cas, la source est synchronisée avec la destination, en ne changeant que la destination ! Cette méthode ignore les fichiers inchangés. Étant donné que la commande peut entraîner une perte de données, vous pouvez l’utiliser avec « –dry-run » pour voir exactement ce qui sera copié et supprimé.
Déplacer des données avec rclone
Pour déplacer des données, vous pouvez utiliser rclone avec la commande move. La commande doit ressembler à ceci :
# rclone move source:path dest:path [flags]
Le contenu de la source sera déplacé (supprimé) et placé sur la destination sélectionnée.
Autres commandes rclone utiles
Pour créer un répertoire sur la destination.
# rclone mkdir remote:path
Pour supprimer un répertoire.
# rclone rmdir remote:path
Vérifiez si les fichiers source et destination correspondent :
# rclone check source:path dest:path
Supprimer des fichiers :
# rclone delete remote:path
Chacune des commandes rclone peut être utilisée avec différents drapeaux et inclut son propre menu d’aide. Par exemple, vous pouvez effectuer une suppression sélective à l’aide de l’option de suppression. Supposons que vous souhaitiez supprimer des fichiers de plus de 100 Mo, la commande ressemblerait à ceci.
# rclone --min-size 100M delete remote:path
Il est fortement recommandé de consulter le manuel et l’aide pour chaque commande afin de tirer le meilleur parti de rclone. La documentation complète de rclone est disponible à l’adresse suivante : https://rclone.org/
Conclusion
rclone est un puissant utilitaire de ligne de commande pour vous aider à gérer les données entre différents fournisseurs de stockage Cloud. Bien que dans cet article, nous n’ayons fait qu’effleurer la surface des capacités de rclone, il y a beaucoup plus à accomplir avec lui, surtout lorsqu’il est utilisé en combinaison avec le service cron (par exemple).



