• ASTROLABO devient dédié au CELESTRON Origin.

    Clicky

Script de clonage d’une carte SD vers NAS

Voilà un aide-mémoire pour cloner la carte SD de votre pi car, on le sait, les cartes SD ont une fâcheuse tendance à rendre l’âme.

1) Il faudra déjà activer NFS sur votre Synology (j’ai essayé sur un QNAP sans succès) et créer un partage NFS (je l’ai appelé BACKUPS_JEEDOM)

2017-02-11_10-27-39

2017-02-11_10-31-30

2) Vérifier que le NFS et Pipe viewer (pour voir l’avancement de la sauvegarde)  sont installés avec

dpkg -l | grep nfs-common

dpkg -l | grep pv

(sinon les installer avec apt-get install nfs-common  et    apt-get install pv)

3) Sur le pi, créer un dossier de montage (par ex Backup_NAS) avec et l’ajouter au FSTAB

sudo mkdir /mnt/Backup_NAS

sudo nano /etc/fstab

et ajouter au fichier fstab cette ligne:

192.168.1.4:/volume1/BACKUPS_JEEDOM    /mnt/Backup_NAS    nfs    rw,user    0    0

(192.168.1.4 étant l’adresse réseau de votre synology

BACKUPS_JEEDOM étant votre dossier de partage NFS sur votre synology

Backup_NAS étant le dossier créé  sur le Raspberry

2017-02-11_10-43-26

4) Tester si tout va bien

– le dossier sur le NAS

sudo mount -a
sudo df

– l’écriture sur le NAS

sudo mkdir /mnt/Backup_NAS/essaidedossier

Pour mes 2 Raspberry, j’ai eu cette erreur

mount.nfs: rpc.statd is not running but is required for remote locking.

mount.nfs: Either use ‘-o nolock’ to keep locks local, or start statd.

mount.nfs: an incorrect mount option was specified

On résout le problème avec cette commande

/etc/init.d/rpcbind start

On teste le clonage sur le NAS avec cette commande (à adapter à vos dossiers)

sudo dd if=/dev/mmcblk0 bs=4M | sudo pv -treb | sudo dd of=/mnt/Backup_NAS/clone_SD.img && sync

Comptez environ 25 min pour une carte de 8Go en ethernet et 30 min en wifi

5) Installer le script

Ce que je fais, c’est que je monte le PI sur mon Mac (voir cet article)

Créez-vous un dossier scripts par exemple dans le dossier home

Créez un fichier CloneSD.sh et ajoutez-y ce code à adapter à votre config

#!/bin/bash

etc/init.d/rpcbind start     #si erreur NFS
sudo mount -a
DATE=$(date + »%Y-%m-%d »)
BoxToClone=NOM_PI

FileName=SD-$BoxToClone\_$DATE.img #sans compression
#FileName=SD-Backup_$BoxToClone\_$DATE.img.gz
File=/mnt/Backup_NAS/$FileName
#arrêt de Jeedom
sudo service apache2 stop
sudo service mysql stop

sudo dd if=/dev/mmcblk0 bs=4M | sudo pv -treb | sudo dd of=$File && sync
#sudo dd if=/dev/mmcblk0 bs=4M | sudo gzip -1 -| sudo dd of=$File && sync

sudo reboot

6) Rendez exécutable le script

2017-02-11_16-14-42

sudo chmod u+x /home/scripts/CloneSD.sh

Testez le script avec cette commande

sudo bash /home/scripts/CloneSD.sh

7) Automatiser le clonage

sudo crontab -e

et ajouter cette ligne pour sauvegarder tous les mois le 1er à 1h du matin

0 1 1 * * sh /home/scripts/CloneSD.sh

N’oubliez pas d’enregistrer.

Laisser un commentaire