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.

Répondre à