Sauvegarde cloud avec Rclone et Google Drive

Rclone est un programme en ligne de commande permettant de sauvegarder des données dans le cloud. Dans cet article, nous allons aborder la mise en place d’un CRON pour transférer sur Google Drive les backups de vos sites Internet par exemple. C’est souvent très utile et vital lorsque vous gérez des serveurs dédiés ou des serveurs virtuels. Ainsi, en plus des sauvegardes locales, vous pourrez disposer de copies déportées.

Pré-requis

  • Déterminer le dossier à sauvegarder, ici : /var/backups/besaid
  • Créer un dossier sur Google Drive pour accueillir les backups
    • Récupérer l’ID du dossier, c’est ce qui vient après : https://drive.google.com/drive/folders/{ID}

Installation de Rclone

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

Configuration de Rclone

La configuration est facile, il suffit de lancer la commande config et de renseigner les informations.

rclone config

Si vous n’avez pas de remote configuré, vous pouvez en créer un.  Sinon, la liste des remotes est affichées et vous pouvez les éditer. Taper n pour en créer une, nous allons ajouter google_drive :

No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> google_drive

Une liste de type de stockage va s’afficher, normalement Google Drive correspond à l’entrée 13 dans la version v1.53.1 de Rclone

Storage > 13

Puis laissez les deux champs suivants à vide, appuyer simplement sur ENTREE.

client_id>

client_secret>

Il faut à présent indiquer les privilèges

Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
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> 3

Indiquer à présent l’ID du répertoire racine pour Rclone sur Google Drive.

root_folder_id> {ID}

Laisser à vide le champs suivant

service_account_file>

Inutile de passer par la configuration avancée, répondre n.

Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n

Ensuite, il va falloir autoriser Rclone à accéder à votre Google Drive

Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> n

Rclone va générer un lien à copier et à coller dans la barre d’adresse de votre navigateur. Connectez-vous et autorisez l’accès à Rclone. Récupérez le {TOKEN}.

Log in and authorize rclone for access
Enter verification code> {TOKEN}

Avant dernière étape, indiquez n

Configure this as a team drive?
y) Yes
n) No (default)
y/n> n

Vérifiez la configuration et validez.

e) Edit this remote
d) Delete this remote
y/e/d> y

Commandes

# Synchronisation du dépôt distant depuis le dossier /var/backups/zanarkand
rclone sync /var/backups/zanarkand google_drive:/

Tâches planifiées

Nous allons demander à synchroniser le répertoire de backups tous les jours à 4 heures du matin. Ouvrez la crontab :

vi /etc/crontab

Ajoutez :

0 4 * * * rclone sync /var/backups/zanarkand google_drive:/ >/dev/null 2>&1

Sauvegardez la crontab et relancez le service :

service cron restart

Lien utiles :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *