Vos Sauvegardes Jeedom sur Google Drive

Il n’existe que deux types de personnes : celles qui ont perdu des données, et celles qui vont les perdre.

Renaud Cerrato
4 min readFeb 22, 2018
crédit photo: Pedro Cora

Vos sauvegardes Jeedom sont précieuses, ne les laissez pas sur votre carte SD.

Pré-requis

Avant de commencer, vous devez installer et activer le plugin script officiel.

Connectez vous à l’aide d’une console SSH (ou telnet), et installez les dépendances:

sudo apt-get install rclone

Nous allons placer la configuration dans le même répertoire que les scripts :

sudo -u www-data mkdir -p /var/www/html/plugins/script/core/ressourcessudo -u www-data rclone config --config /var/www/html/plugins/script/core/ressources/rclone.conf

Choisissez New remote et donnez un nom explicite (et mémorable) à votre configuration :

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

Sélectionnez ensuite Google Drive dans la liste des solutions de stockage :

Type of storage to configure. 
Choose a number from below, or type in your own value
1 / Amazon Drive
2 / Amazon S3 (also Dreamhost, Ceph, Minio)
3 / Backblaze B2
4 / Box
5 / Cache a remote
6 / Dropbox
7 / Encrypt/Decrypt a remote
8 / FTP Connection
9 / Google Cloud Storage (this is not Google Drive)
10 / Google Drive
11 / Hubic
12 / Local Disk
13 / Microsoft Azure Blob Storage
14 / Microsoft OneDrive
15 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
16 / Pcloud
17 / QingCloud Object Storage
18 / SSH/SFTP Connection
19 / Webdav
20 / Yandex Disk
21 / http Connection
Storage> 10

A l’étape suivante, laissez client_id, client_secret et service_account_file vide si vous n’avez pas idée de ce que c’est, et répondez non pour l’auto-config :

Google Application Client Id - leave blank normally. 
client_id>
Google Application Client Secret - leave blank normally.
client_secret>
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> n

C’est presque terminé : il nous faut juste donner l’autorisation à rclone d’accéder à notre Google Drive. Visitez le lien qui vous est fourni et récupérez le code de vérification avant de le recopier dans la console :

If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?..............................................................................................
Log in and authorize rclone for access
Enter verification code>

Si tout c’est bien passé, votre configuration est prête, il est maintenant temps de créer le script de sauvegarde.

Le script de sauvegarde

Depuis le plugin script, créez un nouvel équipement et nommez le “rclone” (par exemple) :

Ajoutez un nouveau script de type “Script/Action” et cliquez sur “Nouveau” :

Copiez/collez le script ci-dessous, en n’oubliant pas de remplacer mon_drive par le nom que vous avez choisi lors de la configuration. Vous pouvez aussi changer le répertoire de destination :

#!/usr/bin/env bashSCRIPT_DIR=$(dirname "$(readlink -f "$0")")rclone sync -v -v --config $SCRIPT_DIR/rclone.conf /var/www/html/backup/ mon_drive:jeedom/backups

Le scénario de sauvegarde

Notre script ci-dessus doit être exécuté quotidiennement, et de préférence après la sauvegarde Jeedom. Pour cela, créez un nouveau scénario appellant votre script et utilisez le tag #end_backup# comme événement déclencheur :

Le scénario se déclenche après les sauvegardes Jeedom
Le scénario se contente d’appeler le script.

C’est tout. Vous pouvez tester le script ou le scénario manuellement depuis l’interface, mais soyez conscient que la première sauvegarde peut prendre beaucoup de temps selon la qualité de votre bande passante et de la quantité de sauvegardes à envoyer.

Si cet article vous à plu, n’hésitez pas à l’applaudir en cliquant sur le bouton ci-dessous. Je vous recommande également son article compagnon : “Installation sécurisée de Jeedom avec Docker”.

--

--

Renaud Cerrato

Analog at birth but digital by design. Hardcore Android Developer. Linux devotee. Came back once from /dev/null.