Rédiger « NacerAdamouSaidou/Miroir » ici. Quelques notes sur la mise en place de mes miroir

Les scripts

miroir:/# cat /usr/local/bin/miroir-ubuntu 
#!/bin/bash

MIROIR=cm.archive.ubuntu.com
VERBOSE="--verbose --progress"
DESTINATION=/var/www/ubuntu
DISTS=jaunty,jaunty-security,jaunty-updates,karmic,karmic-security,karmic-updates

LOG=/var/log/miroir/miroir.log

if [ ! -f $LOG ]; then
        touch $LOG
fi

echo -n "Debut de la synchronisation ubuntu -- " | tee -a $LOG
date | tee -a $LOG
echo "" >> $LOG

# --section=main,restricted,multiverse,universe \
debmirror -v -P --host=$MIROIR  \
 --arch=i386 --nosource --method=http \
 --ignore-small-errors \
 --root=ubuntu --dist=$DISTS $VERBOSE \
 --section=main,main/debian-installer,restricted,restricted/debian-installer,multiverse,universe \
 $DESTINATION | tee -a $LOG 2>&1 

echo "########################################################\n\n\n" >> $LOG

miroir:/# cat /usr/local/bin/miroir-debian 
#!/bin/sh

BASEWWW=/var/www
DESTINATION=$BASEWWW/debian
OPENVZ=$BASEWWW/openvz
SERVEURSOURCE=ftp.fr.debian.org
ARCH=i386
SECTION=main,contrib,main/debian-installer
VERBOSE=" --verbose --progress "
LOG=/var/log/miroir/miroir.log

if [ ! -f $LOG ]; then
        touch $LOG
fi

echo "Debut de la synchronisation Debian -- " | tee -a $LOG
date | tee -a $LOG
echo "" >> $LOG

# echo "Miroir de $DESTINATION depuis $SERVEURSOURCE"

debmirror -v -P --ignore-release-gpg --host=$SERVEURSOURCE \
 --ignore-release-gpg --arch=$ARCH --nosource --method=http \
 --root=debian $VERBOSE --dist=lenny,squeeze \
 --section=$SECTION \
 $DESTINATION | tee -a $LOG 2>&1

# echo "Miroir de $DESTINATION-security depuis security.debian.org"

debmirror -v -P --ignore-release-gpg --arch=$ARCH --host=security.debian.org --dist=lenny/updates,squeeze/updates \
--method=ftp --root=debian-security  --section=$SECTION $VERBOSE --nosource \
"$DESTINATION-security/" | tee -a $LOG 2>&1

echo "########################################################\n\n\n" >> $LOG

miroir:/# cat /usr/local/bin/miroir-debian-volatile 
#!/bin/sh

BASEWWW=/var/www
DESTINATION=$BASEWWW/debian
SERVEURSOURCE=ftp.fr.debian.org
ARCH=i386
SECTION=main,contrib,main/debian-installer
LOG=/var/log/miroir/miroir.log
if [ ! -f $LOG ]; then
        touch $LOG
fi

echo -n "Debut de la synchronisation Debian volatile -- " >> $LOG
date >> $LOG
echo "" >> $LOG


debmirror -v -P --ignore-release-gpg --arch=$ARCH --host=$SERVEURSOURCE --dist=lenny/volatile,squeeze/volatile \
--method=http --root=debian-volatile  --section=main,contrib,non-free --nosource "$DESTINATION-volatile/" >> $LOG 2>&1

echo "########################################################\n\n\n" >> $LOG

A rendre exécutable

miroir:/# ls -l /usr/local/bin/       
total 12
-rwxr-xr-x 1 root root 1271 Jul 24 10:50 miroir-debian
-rwxr-xr-x 1 root root  626 Jul 24 10:58 miroir-debian-volatile
-rwxr-xr-x 1 root root  776 Jul 24 10:50 miroir-ubuntu

Crontab

miroir:/# vi /etc/cron.d/miroir
0 20 * * * miroir [ -x /usr/local/bin/miroir-debian ] && /usr/local/bin/miroir-debian
0 00 * * * miroir [ -x /usr/local/bin/miroir-debian-volatile ] && /usr/local/bin/miroir-debian-volatile
0 04 * * * miroir [ -x /usr/local/bin/miroir-ubuntu ] && /usr/local/bin/miroir-ubuntu

Logrotate

miroir:/# cat /etc/logrotate.d/miroir 
/var/log/miroir/miroir-ubuntu.log {
rotate 7
daily
compress
mail root@cm.refer.org
prerotate 
        cat /var/log/miroir/miroir-ubuntu.log | mail -s "Logs Ubuntu" root@cm.refer.org
endscript
dateext
}

/var/log/miroir/miroir-debian.log {
rotate 7
daily
compress
mail root@cm.refer.org
prerotate 
        cat /var/log/miroir/miroir-debian.log | mail -s "Logs Debian" root@cm.refer.org
endscript
dateext
}

/var/log/miroir/miroir-debian-volatile.log {
rotate 7
daily
compress
mail root@cm.refer.org
prerotate 
        cat /var/log/miroir/miroir-debian-volatile.log | mail -s "Logs Debian volatile" root@cm.refer.org
endscript
dateext
}

Normalement la ligne mail root@cm.refer.org devait suffire à m'envoyer une copie du log, mais ca marche pas chez moi, je sais pas pourquoi. Et meme quand ca le ferai, je préfère avoir le contenu du log directement dans le mail, plutot que de l'avoir comme fichier attaché (il faudrait encore l'ouvrir avant de le lire, et je suis pareusseux) => le prerotate.

Ajuster les droits:

miroir:/# ls -l /etc/logrotate.d/miroir 
-rw-r--r-- 1 root root 181 Jul 23 13:09 /etc/logrotate.d/miroir

Créer le répertoire de log. Voici à quoi ressemble le mien après un rotate:

miroir:/# ls /var/log/miroir/
miroir.log  miroir.log-20090724.gz

Une fois qu'on a bien configuré exim pour l'envoie des courriers (dpkg-reconfigure exim4-config), on peut aller se bronzer aux bahamas en attendant que les courriels nous signalent d'éventuelles erreurs (par exemple que je dois rajouter de l'espace disque chez moi :-P .