[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Sauvegarde sur DAT en ligne de commande...



Title: RE: Sauvegarde sur DAT en ligne de commande...

Tous les jours, je fais une sauvegarde de (presque) tous les répertoires des utilisateurs, je procède en 2 temps :
 1- tar pour compression
 2- tar pour sauvegarde sur DAT.

1)
Je pars d'un fichier "list_compress_include_file.txt" qui contient la liste des répertoires à compresser, globalement 1 par utilisateur plus des répertoires de config lib/samba...

Mon crontab lance la commande "compress.cmd" (ci-dessous) afin d'écrire dans le répertoire de Sauvegarde tous ces fichiers compressés (il seront dispo 24h, ainsi les utilisateurs ont en ligne la sauvegarde de la veille).

J'utilise tar (avec l'option gzip) pour compresser les répertoires.
Je gére aussi un fichier de log celui d'aujourd'hui est :
        Compress-listing-093-lundi-03-04-2006.txt.gz

poseidon$ cat compress.cmd
#!/bin/tcsh
set jourdate=`date +"%j-%A-%d-%m-%Y"`
set infopath=/home/users/admin/Sauvegardes
set savepath=/home/Save
set savelist="$infopath"/list_compress_include_file.txt
set savelog="$infopath"/Compress-listing-"$jourdate".txt
set backuplist="$infopath"/list_backup_include_file.txt

echo Sauvegarde-listing-$jourdate.txt > $savelog
date +"Début sauvegarde : %A %d %B %Y à %T" >>& $savelog
#
cd $infopath
setenv GZIP -q; tar cvfz $savepath/.admin_utilitaire_save.tgz --ignore-failed-read --totals compress.cmd backup.cmd list_compress_include_file.txt >>& $savelog

cd /etc
setenv GZIP -q; tar cvfz $savepath/.etc_samba_group_passwd.tgz --ignore-failed-read --totals group passwd samba >>& $savelog

#
cd /home/users
foreach i (`cat $savelist`)
echo ">>>>>"$i"<<<<<"
setenv GZIP -q; tar cvfz $savepath/$i.tgz --ignore-failed-read --totals $i >>& $savelog
end
#
date +"Fin sauvegarde : %A %d %B %Y à %T" >>& $savelog
#
# Je supprime le listing de l'ancienne sauvegarde
\rm $savepath/Compress-listing-*.txt

# Je construis la liste des fichiers du prochain backup
ls -C1rS $savepath > $backuplist

# Je copie et compresse le listing de la présente sauvegarde
cp $savelog $savepath
gzip $savelog

poseidon$



2)
Je pars d'un fichier "list_backup_include_file.txt" qui précise la liste des fichiers tar-zippé du dossier de sauvegarde qui doivent être écris sur bande, cette liste a été réécrite dans le précédents script ; en effet j'ai des utilisateurs "pas zentils" qui ne nettoie rien et dont l'occupation disque est si importante que la sauvegarde sur bande n'est pas suffisante, aprés de vaines tentatives de négociation, j'ai décidé de trier les utilisateurs par taille de répertoire et je sauvegarde par ordre croissant les petits d'abord...puis les gros.

(commande ls -C1rS $savepath > $backuplist),  de fait, une erreur d'écriture sur bande se produit sur l'avant-dernier fichier trop important (les 2 derniers utilisateurs ne sont jamais sauvegardés sur bande) SANS QUE CELA NE PLANTE les premiers fichiers (utilisateurs) sauvegardés.

L'écriture sur DAT-24 se fait avec le script backup.cmd :
poseidon$ cat backup.cmd
#!/bin/tcsh
set jourdate=`date +"%j-%A-%d-%m-%Y"`
set infopath=/home/users/admin/Sauvegardes
set savepath=/home/Save
set savelog="$infopath"/Backup-listing-"$jourdate".txt
set backuplist="$infopath"/list_backup_include_file.txt

cd $savepath

date +"Début sauvegarde : %A %d %B %Y à %T" >& $savelog
tar cvf /dev/st0 --ignore-failed-read --totals --files-from $backuplist >>& $savelog
date +"Fin sauvegarde : %A %d %B %Y à %T" >>& $savelog

poseidon$

3)
Voila, vous avez toute la manip, quelques chiffres :
Mes 50 utilisateurs : 31Go
Mes 50 utilisateurs compressés : 13Go
Mon DAT-24  est un 10-20Go, je peux donc mettre 10 sur les 13 GO...
Je change de cassette tous les jours, j'ai 5 cassettes pour le vendredi. J'ai donc :
les 7 sauvegardes quotidiennes précédentes,
les 5 sauvegardes hebdomadaires précédentes.

La compression commence à 22h00 et dure environ 54mn
L'écriture commence à 23h30 et se termine à 2h52, soit prés de 4h30...
A noter que le temps de récupération d'un fichier (lecture séquentielle) est aussi de cet ordre.

Bon courage mais c'est très facile.

Pierre Touzeau


-----Message d'origine-----
De : debian-user-french-request@lists.debian.org
...
En attendant quelques exemples de scripts ;-)

Bref, hier soir, j'ai lancé une sauvegarde (comme c'était plus de 10 Go,
je ne suis pas resté !). Ce matin je vérifie et il m'indique une erreur
de place ! Or, j'ai normalement 12 Go avant compression...

Bon, je viens de refaire un test sur un simple fichier et là ça marche
bien...

Bref, auriez-vous quelques pistes pour savoir la place disponible ?
Sinon, est-il possible d'envoyer les fichiers les uns à la suite des
autres et de savoir sur lequel il plante ? Et sinon, de faire des
sauvegardes multi-bandes ?


Reply to: