Décrire ici « ZAP/Vientiane/IFMT/sauvegarde-externe ». == Sauvegarde externe vers disque USB de 160 Go de l'IFMT == === Idée : === *On dispose 2 disque USB de 160 Go pour faire la sauvegarde externe dans la semaine il y a toujours l'un disque qui est branché pour faire la sauvegarde chaque nuit *On échange le disque chaque semaine === Utilisation: === *On a un simple script '''/home/admin/scripts/backup.sh''' *On insère le disque *On active le volume logique par: '''# /home/admin/scripts/backup.sh insert_usb''' *Chaque nuit à 2h 00 le script: '''# /home/admin/scripts/backup.sh backup''' qui se lance automatiquement(qui fait: monter; backup; puis démonter les partitions) *pour éjecter l'un disque USB(changer le disque USB) on fait: '''# /home/admin/scripts/backup.sh eject_usb''' Script: '''/home/admin/scripts/backup.sh:''' {{{ #! /bin/bash ## script backup vers le disque USB de l'IFMT ## export PATH=/sbin:/bin:/usr/sbin:/usr/bin ## commande COMMAND=rdiff-backup OPTIONS= # garder l'historique de 2 semaines REMOVE_OPTIONS="--remove-older than 2W" # données à sauvegarder ETUDIANTS=/srv/share/etudiants PERSONNELS=/srv/share/personnels INSP=/srv/share/insp MAIL=root@smtp::/var/mail/ifmt.refer.org # répertoire de montage (mount point) MP=/.backup # points de montage: $MP/etudiants $MP/personnels $MP/insp $MP/mail # nom du volume group VG=/dev/backup-ifmt # # VG/personnels=50 Go; etudiants=60 Go; insp=15 Go; mail=20 Go # activer les volumes logiques function activate_lv { lvchange -ay $VG/etudiants; lvchange -ay $VG/personnels; lvchange -ay $VG/insp; lvchange -ay $VG/mail; } # déactiver les volumes logiques function deactivate_lv { lvchange -an $VG/etudiants; lvchange -an $VG/personnels; lvchange -an $VG/insp; lvchange -an $VG/mail; } # monter les volumes logiques function mount_lv { mount $VG/etudiants $MP/etudiants mount $VG/personnels $MP/personnels mount $VG/insp $MP/insp mount $VG/mail $MP/mail } # démonter les volumes logiques function umount_lv { umount $MP/etudiants umount $MP/personnels umount $MP/insp umount $MP/mail } # faire le sauvegarde function backup { echo "copier etudiants" $COMMAND $OPTIONS $ETUDIANTS $MP/etudiants/bk_etudiants echo "copier personnels" $COMMAND $OPTIONS $PERSONNELS $MP/personnels/bk_personnels echo "copier insp" $COMMAND $OPTIONS $INSP $MP/insp/bk_insp echo "copier mail" $COMMAND $OPTIONS $MAIL $MP/mail/bk_mail # effacer anciens fichiers plus de 2 semaines $COMMAND $REMOVE_OPTIONS $MP/etudiants/bk_etudiants $COMMAND $REMOVE_OPTIONS $MP/personnels/bk_personnels $COMMAND $REMOVE_OPTIONS $MP/insp/bk_insp $COMMAND $REMOVE_OPTIONS $MP/mail/bk_mail } ################### faire actions ######################### case $1 in insert_usb ) activate_lv ; ;; eject_usb ) deactivate_lv; ;; backup ) mount_lv; backup ; # vide tampon avant démonter sync; umount_lv; ;; mount_lv ) mount_lv; ;; umount_lv ) umount_lv; ;; * ) echo "Options: insert_usb eject_usb mount_lv umount_lv backup"; esac }}}