scripts/backup.sh
sayan d976df6857 typo, et un petit souci
--
Sayan

darcs-hash:20031126144637-d1356-69cf4721915a0acbf2cdc5f05369ee0566b6648d.gz
2003-11-26 15:46:37 +01:00

53 lines
1.9 KiB
Bash
Executable file

#!/bin/sh
## Sauvegarde des fichiers de conf et du site web CRANS sur Tanek
## Sayan 02/10/2003
## Ajout de la synchro du site web : Sayan 04/10/2003
## Ajout de la synchro des mails : Sayan 19/10/2003
## Ajout de la synchro des news et des homes : Sayan 15/11/2003
## Nom de fichiers et chemins
temp_dir=$(mktemp -d)
nom_archive=$temp_dir"/backup_"$(hostname)"_"$(date --iso-8601)".tar.bz2"
nom_selections=$temp_dir"/selections"
## Que sauvegarder ?
# via tar bzip2
confs="etc usr/cvs-rep CRANS usr/scripts boot/config*"
# via rsync
site_web="/home/httpd/CVS-Repository"
mails="/var/spool/mail"
news="/var/spool/news"
homes="/home"
cd /
# tgz le contenu des répertoires
# ajoute dpkg --get-selections
# echo Preparing to backup configs...
dpkg --get-selections > $nom_selections || exit 1
tar -cjf $nom_archive $confs .$nom_selections || exit 2
# echo Sending configs to tanek...
scp $nom_archive backupcrans@tanek: || exit 3
# rsync over ssh pour le site web, les homes, les mails et les news
# archive, compress, sparse, hard links, CVS exclude, remote shell
# archive is rlptgoD : recursive, symlinks, perms, times, group, owner, Devices
# suppr les fichiers non existant sur zamok
# synchro journalière, switch par semaine
week=$(date +%W) # numéro de la semaine
week_mod2=$(( $week % 2 ))
rsync -azSHe ssh --delete $site_web backupcrans@tanek:~/httpd-$week_mod2 || exit 4
rsync -azSHe ssh --delete $mails backupcrans@tanek:/mnt/backup$week_mod2/var/spool || exit 5
rsync -azSHe ssh --delete $news backupcrans@tanek:/mnt/backup$week_mod2/var/spool || exit 6
# Les homes sont donnés à backupcrans.backup sans les permissions
# Tanek peut alors écrire tous les fichiers, mais restauration non exacte
# autre pb : rsync se plaint
temp=$(mktemp)
rsync -azSHe ssh --delete $homes backupcrans@tanek:/mnt/backup$week_mod2 &>$temp
mail sayan@crans.org -s "[Roots] Bouh, rsync se plaint et le rtc est pas content" < $temp || exit 7
# clean
rm -rf $temp_dir
rm $temp