
J'ai fait ces modifications car:
- je n'ai pas de ligne freemobile je ne pouvais pas recevoir de SMS par l'API free
- j'ai une freebox v6.. mais j'ai aussi un Nas synology en qui j'ai beaucoup plus confiance
Donc pour résumer, ce script fait un backup complet de la SD avec pigz (beaucoup plus rapide et multi-coeur, merci Cissou) pour l'info, l'envoi sur votre NAS et vous informe par email de l'avancement du backup.
Préalable:
-Avoir créé sur le nas un compte pour la sauvegarde
-Avoir créé sur le nas un dossier de sauvegarde (backup_domoticz dans cet exemple)
- que le nas soit allumé???!!
Pour commencer, mettez à jour votre système
Code : Tout sélectionner
sudo apt-get updateCode : Tout sélectionner
sudo apt-get upgradeCode : Tout sélectionner
sudo apt-get install mailutils mpackCode : Tout sélectionner
sudo apt-get install heirloom-mailxCode : Tout sélectionner
sudo apt-get install ssmtpCode : Tout sélectionner
sudo nano /etc/ssmtp/ssmtp.confEditez le fichier "revaliases"mailhub=smtp.free.fr
FromLineOverride=YES
Code : Tout sélectionner
sudo nano /etc/ssmtp/revaliasesVous pouvez tester que cela fonctionne (remplacer votre mail)
Code : Tout sélectionner
echo "Contenu du mail" | mail -s "Titre du mail" EMAIL@DOMAINE.comMaintenant que vous avez un serveur mail fonctionnel, on va configurer la sauvegarde
Installez le soft de compression "Pigz"
Code : Tout sélectionner
sudo apt-get install pigzCode : Tout sélectionner
sudo mkdir /mnt/nas_backupCode : Tout sélectionner
sudo fdisk -lCode : Tout sélectionner
nano backup_image.shfaites la personnalisation du script suivant vos besoins:#!/bin/sh
#############
# Script de sauvegarde de l'image complète du serveur Domoticz sur nas et envoi de mail
#############
# Formatage de la date début et de l'heure
DATE_DEBUT=`date +%d-%m-%Y`
H_DEPART=`date +%H:%M:%S`
DEBUT_EN_SEC=$(($(echo $H_DEPART | cut -d':' -f1)*3600+$(echo $H_DEPART | cut -d':' -f2)*60+$(echo $H_DEPART | cut -d':' -f3)))
# Transmission d'un premier mail
message=${DATE_DEBUT}' '$H_DEPART' Début de sauvegarde domoticz.'
echo "$message" | mail -s "$message" email@domaine.com
echo "Montage du nas"
/sbin/mount.cifs //IP_NAS/backup_domoticz/ /mnt/nas_backup/ -o user=user_nas,pass=pass_nas
echo "Sauvegarde sur le nas"
dd if=/dev/mmcblk0 | pigz -9 -p 3 > /mnt/nas_backup/srv-domoticz-${DATE_DEBUT}'-'$H_DEPART.img.gz
echo "Démontage du nas"
/bin/umount /mnt/nas_backup
# Formatage de la date de fin et de l'heure
DATE_FIN=`date +%d-%m-%Y`
H_FIN=`date +%H:%M:%S`
# Découpe pour mise en seconde
FIN_EN_SEC=$(($(echo $H_FIN | cut -d':' -f1)*3600+$(echo $H_FIN | cut -d':' -f2)*60+$(echo $H_FIN | cut -d':' -f3)))
# Calcul de la durée d’exécution
DUREE_EN_SEC=$(($FIN_EN_SEC-$DEBUT_EN_SEC))
# Remise en Heure - Minute - Seconde
DUREE_H=$(($DUREE_EN_SEC/3600))
DUREE_M=$((($DUREE_EN_SEC%3600)/60))
DUREE_S=$((($DUREE_EN_SEC%3600)%60))
# Transmission sms avec heure de fin et la durée
message=${DATE_FIN}' '$H_FIN' Fin de sauvegarde domoticz. Durée '$DUREE_H':'$DUREE_M':'$DUREE_S
echo "$message" | mail -s "$message" email@domaine.com
- email@domaine.com ==> votre email
- IP_NAS
- user_nas
- pass_nas
enregistrez votre fichier modifié
rendez le script exécutable
lancez le script pour le testerchmod +x backup_image.sh
après, un petit cron (crontab -e) vous permettra de définir vos intervalles de sauvegardessudo ./backup_image.sh
Code : Tout sélectionner
0 0 * * 1,4 root /backup_image.shJ’espère n'avoir rien oublié
Bonne journée