🇫🇷 Backup Jeedom sur AWS S3

Dans cet article, nous allons voir comment sauvegarder vos backups Jeedom dans le Cloud Amazon.

Ok, mais combien ça coûte Amazon Web Services (AWS) ?

Je pars du principe que vous avez un backup par jour pendant 1 an à sauvegarder, chaque backup fait 100 Mo (le double de ma sauvegarde actuelle)

  • La première année pendant le FreeTier : 0,74$/mois
  • La deuxième année après le FreeTier : 0,86$/mois

Evidemment il n’y a aucun intérêt de garder autant de versions, un mois est à mon sens largement suffisant.

Ce qui rapporte le coût à 0,10$/mois (0,99 euros par an, une paille!)

Pré-requis

  • un compte AWS
  • Un bucket S3
  • Les Access Keys de votre utilisateur
  • L’outil awscli installé sur votre Jeedom

Installation

Installez awscli

Avec cet outil, vous allez pouvoir interagir avec AWS via lignes de commandes.

Installez le grâce à la commande suivante : apt-get install awscli après vous être connecté en SSH.

Configurez awscli

Configurez awscli avec la commande suivante : aws configure, suivez ce guide

Utilisez eu-west-3 pour choisir la région AWS de Paris, eu-west-1 pour Dublin, eu-west-2 pour Londres.

Programmez la sauvegarde

Ci-dessous le script bash utilisé pour la copie de la sauvegarde Jeedom vers le bucket S3.

Créez ce fichier dans votre répertoire personnel

cd ~

vim backup.sh

#!/bin/bash
aws s3 sync /var/www/html/backup/ s3://my_bucket_name/Jeedom/ >> /var/log/backup-jeedom.log

Collez le script ci-dessus (en ayant appuyé sur i auparavant), puis sauvegardez ESC :x entrée

Lancez la commande suivante pour donner les droits d’exécution : chmod +x backup.sh

Ensuite crontab -e pour éditer le fichier cron qui va permettre de programmer l’heure et la date des sauvegardes

Collez la ligne suivante : Ici, il s’agit d’une sauvegarde tous les jours à 3:00 du matin.

00 3 * * * bash /home/votre_utilisateur/backup.sh

Plannifiez votre propre date et heure grâce à cette page en fonction de votre besoin : crontab.guru

Vérifiez que votre cron est correctement setup avec cette commande crontab -l

Vérifications

Lancez une synchronisation des sauvegardes (par défaut 3 jours dans Jeedom) dès maintenant : ./backup.sh

Connectez-vous sur la console AWS S3, et vérifiez la présence des fichiers backups. (Choisissez la bonne région AWS en haut à droite)

Last but not least

Créez une lifecycle rule pour supprimer les sauvegardes les plus anciennes grâce aux expirations S3 via cette documentation.

zoph

Leave a Comment