Nous en �tions � ``y'a un autre truc mieux et nouveau''.
M'enfin j'utilise une combine que je comprend et qui marche...
Alors dans la s�rie ``je m'amuses avec les liens symboliques et durs''...
J'avais relev� un comportement ennuyeux de la commande ``mv'' qui touche �
la date du r�pertoire du backup. J'ai donc initialement cherch� � la
r�cup�rer:
ddate=$(find weekly.$i -maxdepth 0 -printf "%t")
mv weekly.$i weekly.$(($i+1))
touch -d "$ddate" weekly.$(($i+1))
puis me rendant compte que j'�crivais quatre fichier de commande r�alisant
la m�me chose avec quelque diff�rence j'ai d�cider d'automatiser:
http://www.f-hauri.ch/vrac/backups-rotate.sh.gz
Soit un script ``backups-rotate.sh'' qui ne fait rien d'autre que
d'afficher un message d'erreur si lanc� tel quel.
Partant du principe que les backups se trouvent dans ``/backups/'',
Et que avec ``rsync'' je maintiens quelque minutes avant la fin de
l'heure un r�pertoire ``/backups/backup.0''...
Pour ``installer'' ce script, j'ai fait... des liens symboliques:-)
$ zcat backups-rotate.sh.gz >/backups/backup-rotate.sh
$ chmod +x /backups/backup-rotate.sh
$ for file in hourly daily weekly monthly yearly;do \
ln -s /backups/backup-rotate.sh $HOME/bin/$file ; done
$
Pour tester, le parametre ``-test'' assure que rien ne sera fait...
$ daily -t
cp -al backup.0 daily.sat
$
pour le fichier de configuration perso:
$ zcat backups-rotate.sh.gz | head -n12 |\
grep ^[A-Z] >$HOME/.backups-rotaterc
$ vi $HOME/.backups-rotaterc
--- .backups-rotaterc ---
BACKUPS_ROOT=/backups # Le r�pertoire root des sauvegardes
FIRST_BACKUP=backup.0 # Le r�pertoire maintenu par rsync
HOURLY_BK=5 # 6 derni�res heures hourly.0 - hourly.5
DAILY_BK=T # Tous les jours/semaine daily.mon - daily.sun
WEEKLY_BK=5 # 6 derni�res semaines weekly.0 - weekly.5
MONTHLY_BK=T # Tous les mois/ann�e monthly.jan - monthly.dec
YEARLY_BK=T # Chaque ann�e : yearly.2002...
--- .backups-rotaterc ---
Tout est configurable;)
Et pour la mise en marche.
$ crontab -e
--- crontab ---
5 0,7-23 * * * /home/felix/bin/hourly
7 3 * * * /home/felix/bin/daily
9 3 * * 1 /home/felix/bin/weekly
11 3 1 * * /home/felix/bin/monthly
13 3 1 1 * /home/felix/bin/yearly
--- crontab ---
Y'a plus qu'a surveiller la saturation:
$ (. $HOME/.backups-rotaterc ; cd $BACKUPS_ROOT ; df .; df -i .) |\
tr \ \\n | grep ^[1-9].*\% | tr -d \% | while read a; do \
[ $a -gt 90 ] && echo ALARM backup $a | mail -s "ALARM backup" felix
done
Je sais, ce n'est pas tr�s rationnel, mais au prix du Go de disque dur,
actuellement, quand on sait qu'il s'agit de maintenir environ 2Go max...
--
F�lix Hauri - <[EMAIL PROTECTED]> - http://www.f-hauri.ch
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.