|
From: Michel B. <mi...@bo...> - 2002-12-01 07:18:18
|
Le Dimanche 1 Décembre 2002 02:46, Matt Zimmerman a écrit : > > > Well, I use a bash script because it is a backup script, that does much > > more than just executing a couple of EVMS commands: mount, umount, tar, > > cp, tests, completion logs... > > In that case, why not snapshot each volume before you back it up, and then > delete the snapshot immediately after? That's exactly what my simple script does. Basically, it is: #! /bin/bash # Backup complet disque-à-disque du système depuis snapshots EVMS # # Ecrit par Michel Bouissou le 30/11/2002 # Paramètres LOGFILE=/var/log/sysbackup.log TXTDATE=$(eval date --date 'today' '+"%A %-d %B %Y"') # Début echo "Sauvegarde complète du système le $TXTDATE" > $LOGFILE echo "" >> $LOGFILE # Etat initial df 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Activation des snapshots evms -v1 2>&1 >> $LOGFILE << EOF1 create:volume,f_snap_racine,name=snap_racine: commit: create:volume,f_snap_boot,name=snap_boot: commit: create:volume,f_snap_usr,name=snap_usr: commit: create:volume,f_snap_var,name=snap_var: commit: create:volume,f_snap_tmp,name=snap_tmp: commit: create:volume,f_snap_home,name=snap_home: commit: exit EOF1 echo "" >> $LOGFILE # Effacement (formatage) des volumes de destination mke2fs -j -L bkp_racine /dev/evms/bkp_racine 2>&1 >> $LOGFILE mke2fs -j -L bkp_boot /dev/evms/bkp_boot 2>&1 >> $LOGFILE mke2fs -j -L bkp_usr /dev/evms/bkp_usr 2>&1 >> $LOGFILE mke2fs -j -L bkp_var /dev/evms/bkp_var 2>&1 >> $LOGFILE mke2fs -j -L bkp_home /dev/evms/bkp_home 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Montage des snapshost à sauvegarder mount -v -t ext3 -o ro /dev/evms/snap_racine /mnt/snap/racine 2>&1 >> $LOGFILE mount -v -t ext3 -o ro /dev/evms/snap_boot /mnt/snap/boot 2>&1 >> $LOGFILE mount -v -t ext3 -o ro /dev/evms/snap_usr /mnt/snap/usr 2>&1 >> $LOGFILE mount -v -t ext3 -o ro /dev/evms/snap_var /mnt/snap/var 2>&1 >> $LOGFILE mount -v -t ext3 -o ro /dev/evms/snap_tmp /mnt/snap/tmp 2>&1 >> $LOGFILE mount -v -t ext3 -o ro /dev/evms/snap_home /mnt/snap/home 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Montage des volumes de destination mount -v -t ext3 -o noatime,data=writeback /dev/evms/bkp_racine /mnt/bkp/racine 2>&1 >> $LOGFILE mount -v -t ext3 -o noatime,data=writeback /dev/evms/bkp_boot /mnt/bkp/boot 2>&1 >> $LOGFILE mount -v -t ext3 -o noatime,data=writeback /dev/evms/bkp_usr /mnt/bkp/usr 2>&1 >> $LOGFILE mount -v -t ext3 -o noatime,data=writeback /dev/evms/bkp_var /mnt/bkp/var 2>&1 >> $LOGFILE mount -v -t ext3 -o noatime,data=writeback /dev/evms/bkp_home /mnt/bkp/home 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Exécution des sauvegardes cp -ax /mnt/snap/racine /mnt/bkp/ 2>&1 >> $LOGFILE cp -ax /mnt/snap/tmp /mnt/bkp/racine/ 2>&1 >> $LOGFILE cp -ax /mnt/snap/boot /mnt/bkp/ 2>&1 >> $LOGFILE cp -ax /mnt/snap/usr /mnt/bkp/ 2>&1 >> $LOGFILE cp -ax /mnt/snap/var /mnt/bkp/ 2>&1 >> $LOGFILE cp -ax /mnt/snap/home /mnt/bkp/ 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Etat final df 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Démontage des volumes de destination umount -v /mnt/bkp/racine 2>&1 >> $LOGFILE umount -v /mnt/bkp/boot 2>&1 >> $LOGFILE umount -v /mnt/bkp/usr 2>&1 >> $LOGFILE umount -v /mnt/bkp/var 2>&1 >> $LOGFILE umount -v /mnt/bkp/home 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Démontage des snapshots umount -v /mnt/snap/racine 2>&1 >> $LOGFILE umount -v /mnt/snap/boot 2>&1 >> $LOGFILE umount -v /mnt/snap/usr 2>&1 >> $LOGFILE umount -v /mnt/snap/var 2>&1 >> $LOGFILE umount -v /mnt/snap/tmp 2>&1 >> $LOGFILE umount -v /mnt/snap/home 2>&1 >> $LOGFILE echo "" >> $LOGFILE # Désactivation des snapshots evms -c -v1 2>&1 >> $LOGFILE << EOF2 revert:/dev/evms/snap_racine: revert:/dev/evms/snap_boot: revert:/dev/evms/snap_usr: revert:/dev/evms/snap_var: revert:/dev/evms/snap_tmp: revert:/dev/evms/snap_home: commit: exit EOF2 echo "" >> $LOGFILE # Etat final mount 2>&1 >> $LOGFILE echo "" >> $LOGFILE -- Michel Bouissou <mi...@bo...> OpenPGP ID 0xDDE8AC6E |