Sauvegarder son syteme
Avec ce petit script, vous allez pouvoir faire des sauvegardes régulières de votre système afin d'éviter des désagréments.
Tout d'abord on va créer un fichier nommé backup_syst.sh par exemple, et on va mettre les lignes suivantes:
#!/bin/sh
#pour avoir la date du jour:
date=`date +'%d_%m_%Y'`
#on vérifie que l'on a un répertoire ou on va pouvoir monter nos partitions système
#si il n'existe pas on le crée
test -d /home/backup/mnt || mkdir /home/backup/mnt
bien sur il faut avoir son /home sur une partition différente et avoir un répertoire "backup" dans son /home, a vous de customiser tout ça ![]()
Ensuite, on monte les diverses partitions qui composent le système
mount --bind / /home/backup/mnt mount --bind /var /home/backup/mnt/var
ici je n'ai que 2 partitions mais on mets autant de lignes "mount" que l'on a de partitions pour la partie système.
On continue, on entre dans le répertoire, on fait la sauvegarde, on sort du répertoire et on démonte les partitions:
cd /home/backup/mnt
tar -czf ../system_"$date".tar.gz * 2>>/dev/null
cd ..
umount mnt/var
umount mnt
Voila on a de quoi faire des sauvegardes ! On peut mettre une ligne dans /etc/crontab pour automatiser la suvegarde du type:
00 03 * * 1 root /home/scripts/backup_syst.sh
la sauvegarde sera faite tous les lundi a 3h00.
C'est bien beau tout ça mais les sauvegardes vont s'entasser dans /home/backup et on ne va pas forcément penser à les supprimer !
On va donc rajouter:
ls --sort=time system_* >liste_sauvegardes
awk '{if (NR>=4) {print "rm -f "$0}}' liste_sauvegardes | bash
Ce qui aura pour effet de ne conserver que 3 sauvegardes et de supprimer les plus anciennes.
Au final, le script ressemble à ça:
#!/bin/sh #pour avoir la date du jour: date=`date +'%d_%m_%Y'` #on vérifie que l'on a un répertoire ou on va pouvoir monter nos partitions système #si il n'existe pas on le crée test -d /home/backup/mnt || mkdir /home/backup/mnt mount --bind / /home/backup/mnt mount --bind /var /home/backup/mnt/var #on va dans le répertoire et on fait la sauvegarde cd /home/backup/mnt tar -czf ../system_"$date".tar.gz * 2>>/dev/null #on sort et on démonte tout cd .. umount mnt/var umount mnt #on purge les anciennes sauvegardes, on en conserve que 3 ls --sort=time system_* >liste_sauvegardes awk '{if (NR>=4) {print "rm -f "$0}}' liste_sauvegardes | bash
Et voila !
Comments(3)
Très bon article !
Je vais tester ca dès que possible
Sauvgarde système de notre ami Juju
Voici donc un très bon article concernant la sauvegarde automatique d’un système linux. Celui ci est proposé par notre ami Juju…
[...] http://www.linibou.com « Sauvegarder son sytème [...]