Par admin,
mardi, juillet 5 2011.
Misc
Malgré le fait que je possède un disque dur réseau MyBookWorld, je pratique encore des sauvegardes hors ligne pour m’assurer qu’un problème du disque dur réseau n’affecte pas mes données.
Pour rendre le tout le plus efficient possible, j’utilise pour cela l’interface USB du disque dur réseau. Une fois le disque USB servant au backup hors ligne connecté, j’active l’accès SSH puis lance mon petit script de copie:
1. Activation du service SSH
Pour cela, il est nécessaire de se connecter en tant qu’administrateur sur la console d’administration du MyBookWorld. Il est nécessaire d’activer le mode avancé puis de sélectionner dans l’onglet System l’option “Advanced”:
Une fois la coche mise et les options sauvegardées, nous pouvons nous connecter au disque dur externe via SSH:
login as: root
root@mybookworld's password:
~ # mount
/dev/root on / type ext3 (rw,noatime,data=ordered)
proc on /proc type proc (rw)
sys on /sys type sysfs (rw)
/dev/pts on /dev/pts type devpts (rw)
securityfs on /sys/kernel/security type securityfs (rw)
/dev/md3 on /var type ext3 (rw,noatime,data=ordered)
/dev/md2 on /DataVolume type xfs (rw,noatime,uqnoenforce)
/dev/ram0 on /mnt/ram type tmpfs (rw)
/dev/md2 on /shares/Download type xfs (rw,noatime,uqnoenforce)
/dev/md2 on /shares/Public type xfs (rw,noatime,uqnoenforce)
/dev/sdc1 on /shares/usb1-1share1 type vfat (rw,gid=1000,fmask=0002,dmask=0002,codepage=cp437,iocharset=utf8)
Le disque dur USB servant de backup offline et connecté au disque réseau se trouve monté sur /shares/usb1-1share1 dans notre exemple ci-dessous.
2. Script de copie MyBookWorld vers un disque dur USB
Afin de créer des copies automatisées, nous allons tout d'abord créer un fichier nommé folderListToBackup.txt qui va contenir la liste des répertoires à sauvegarder. Chaque ligne représente un répertoire et aucun caractère d'échappement ne doit être saisi pour les noms contenant des espaces:
repertoire1
repertoire avec espace
repertoire3
Nous allons ensuite sauvegarder le fichier suivant sous le nom de backup.sh dans le répertoire de l’utilisateur root:
#!/bin/sh
cd /shares/usb1-1share1
d=`date '+%d%B%Y'`
echo Creating folder $d...
mkdir $d
cd $d
while read i
do
echo [`date '+%H:%M:%S' `]: Copy content of /share/Public/$i into $PWD
mkdir "$i"
cp -r "/shares/Public/$i/" .
done < ~/folderListToBackup.txt
L’exemple suivant va simplement
- Créer un nom de répertoire avec la date du jour (par exemple 05July2011) sur le disque USB
- Y recopier récursivement les répertoires récupéré dans le fichier folderListToBackup.txt. Dans cette exemple, nous partons du principe que les sauvegardes sont faites sur le dossier Public uniquement
Il ne reste plus qu’a attribuer les droits d’exécution à ce script puis le démarrer pour effectuer notre première sauvegarde:
~ # chmod +x backup.sh
~ # ./backup.sh