#!/usr/bin/sh PRESENT=8 CAULDRON=$((PRESENT+1)) OLD=$((PRESENT-1)) DEFUSER="root" DEFGROUP="lalis" DESTMAIL="contact@lalis.fr" FROMMAIL="root@lalis.fr" TASKRPM="/mnt/lalis/data/develop/task-lalis/RPMS/noarch" MIRRORPATH="/mirror/mageia" MEDIAINFO_PATH="/mirror/mageia/media_info_mageia/" MSG=/tmp/mirror_mageia.mail SERVEUR="rsync://fr2.rpmfind.net/linux/mageia" #SERVEUR="rsync://ftp.acc.umu.se/mirror/mageia/" #SERVEUR="rsync://ftp.belnet.be/mageia" #rsync://ftp-stud.hs-esslingen.de/Mageia/ function title() { echo -e "\e[1;32m$1\e[0m" echo -e "$1" >>$MSG } function info() { echo -e "\e[36m$1\e[0m" echo -e "$1" >>$MSG } iferror( ) #$RESULT, $TXT, $LINENO { if [ "$1" -eq 0 ];then echo -e "$2: réussi" #echo -e "$2: réussi" >>$MSG else echo -e "\e[36mligne $3 - $2\e[0m: échoué" echo -e "ligne $3 - $2: échoué" >>$MSG fi } DISTRIB="$PRESENT" case $1 in p) DISTRIB="$PRESENT";; o) DISTRIB="$OLD";; c) DISTRIB="cauldron";; esac echo "Synchronisation miroirs Mageia" pidof -o %PPID -x -s mirror_mageia if [ $? -eq 0 ];then echo "mirror_mageia déjà lancé" else if ! [ -d "$MIRRORPATH" ];then info "creating $MIRRORPATH/distrib" mkdir -p "$MIRRORPATH/distrib" fi if [ $DISTRIB = $PRESENT ] || [ -z $DISTRIB ]; then #Mageia current version echo "Subject: Synchro miroirs" >$MSG title "Synchronisation de Mageia $PRESENT" rsync --ignore-existing -rlpP -H -S -v --delete-after --delete-excluded --delay-updates --exclude="*aarch64/" --exclude="*armv5tl/" --exclude="*armv7hl/" --exclude="*testing" --exclude="*debug/" --exclude="SRPMS/" $SERVEUR/distrib/$PRESENT/ "$MIRRORPATH"/distrib/$PRESENT/ if [ $? -eq 0 ]; then cd "$MIRRORPATH"/distrib/$PRESENT cp "$MEDIAINFO_PATH"/"$PRESENT"_i586_media.cfg ./i586/media/media_info/media.cfg iferror "$?" "Copie de "$PRESENT"_i586_media.cfg vers ./i586/media/media_info/media.cfg" $LINENO cp "$MEDIAINFO_PATH"/"$PRESENT"_x86_64_media.cfg ./x86_64/media/media_info/media.cf iferror "$?" "Copie de "$PRESENT"_x86_64_media.cfg vers ./x86_64/media/media_info/media.cfg" $LINENO echo "copie de $TASKRPM/*mga$PRESENT* ==> ./i586/media/core/release/" cp "$TASKRPM/"*mga$PRESENT* ./i586/media/core/release/ iferror "$?" "Copie de $TASKRPM/*mga$PRESENT* vers ./i586/media/core/release/" $LINENO echo "copie de $TASKRPM/*mga$PRESENT* ./x86_64/media/core/release/" cp "$TASKRPM/"*mga$PRESENT* ./x86_64/media/core/release/ iferror "$?" "Copie de $TASKRPM/*mga$PRESENT vers ./x86_64/media/core/release/" $LINENO nice -n 19 gendistrib --nobadrpm --blind --skipmissingdir ./i586 nice -n 19 gendistrib --nobadrpm --blind --skipmissingdir ./x86_64 chown $DEFUSER:$DEFUSER -R "$MIRRORPATH"/distrib/$PRESENT chmod a+rX -R "$MIRRORPATH"/distrib/$PRESENT rsync "$MIRRORPATH"/distrib/$PRESENT/i586/isolinux/i386/vmlinuz /var/lib/tftpboot/X86PC/linux/images/vmlinuz-mageia$PRESENT iferror "$?" "Copie de vmlinuz-$PRESENT" $LINENO rsync "$MIRRORPATH"/distrib/$PRESENT/x86_64/isolinux/x86_64/vmlinuz /var/lib/tftpboot/X86PC/linux/images/vmlinuz-mageia"$PRESENT"_64 iferror "$?" "Copie de vmlinuz-$PRESENT" $LINENO rsync "$MIRRORPATH"/distrib/$PRESENT/i586/isolinux/i386/all.rdz /var/lib/tftpboot/X86PC/linux/images/mageia$PRESENT.rdz iferror "$?" "Copie de mageia$PRESENT.rdz" $LINENO rsync "$MIRRORPATH"/distrib/$PRESENT/x86_64/isolinux/x86_64/all.rdz /var/lib/tftpboot/X86PC/linux/images/mageia"$PRESENT"_64.rdz iferror "$?" "Copie de mageia"$PRESENT"64.rdz" $LINENO else info "Erreur rsync Mageia $PRESENT" fi rsync -avP --exclude "*GNOME*" $SERVEUR/iso/$PRESENT* "$MIRRORPATH"/iso/ iferror "$?" "rsync Mageia $PRESENT isos" $LINENO fi if [ $DISTRIB = "cauldron" ] || [ -z $DISTRIB ];then #cauldron title "Synchronisation de Mageia cauldron" rsync -v --ignore-existing -rlpPHS --delete-after --delete-excluded --delay-updates --exclude=SRPMS/ --exclude="*armv7hl/" --exclude="*aarch64/" --exclude="*armv5tl/" --exclude=*testing --exclude="*debug/" $SERVEUR/distrib/cauldron/ "$MIRRORPATH"/distrib/cauldron/ if [ $? -eq 0 ]; then cd "$MIRRORPATH"/distrib/cauldron cp "$MEDIAINFO_PATH"/cauldron_i586_media.cfg ./i586/media/media_info/media.cfg iferror "$?" "Copie de cauldron_i586_media.cfg vers ./i586/media/media_info/media.cfg" $LINENO cp "$MEDIAINFO_PATH"/cauldron_x86_64_media.cfg ./x86_64/media/media_info/media.cfg iferror "$?" "Copie de cauldron_/x86_64_media.cfg vers ./x86_64/media/media_info/media.cfg" $LINENO cp "$TASKRPM/"*mga$CAULDRON* ./i586/media/core/release/ iferror "$?" "Copie de $TASKRPM/*mga$CAULDRON* vers ./i586/media/core/release" $LINENO cp "$MIRRORPATH/$TASKRPM/*mga$CAULDRON*" ./x86_64/media/core/release/ iferror "$?" "Copie de $TASKRPM/*mga$CAULDRON* vers ./x86_64/media/core/release" $LINENO nice -n 19 gendistrib --nobadrpm --blind --skipmissingdir ./i586 nice -n 19 gendistrib --nobadrpm --blind --skipmissingdir ./x86_64 chown $DEFUSER:$DEFUSER -R "$MIRRORPATH"/distrib/cauldron chmod a+rX -R "$MIRRORPATH"/distrib/cauldron rsync "$MIRRORPATH"/distrib/cauldron/i586/isolinux/i386/vmlinuz /var/lib/tftpboot/X86PC/linux/images/vmlinuz-cauldron iferror "$?" "Copie de vmlinuz-cauldron" $LINENO rsync "$MIRRORPATH"/distrib/cauldron/x86_64/isolinux/x86_64/vmlinuz /var/lib/tftpboot/X86PC/linux/images/vmlinuz-cauldron64 iferror "$?" "Copie de vmlinuz-cauldron64" $LINENO rsync "$MIRRORPATH"/distrib/cauldron/i586/isolinux/i386/all.rdz /var/lib/tftpboot/X86PC/linux/images/cauldron.rdz iferror "$?" "Copie de cauldron.rdz" $LINENO rsync "$MIRRORPATH"/distrib/cauldron/x86_64/isolinux/x86_64/all.rdz /var/lib/tftpboot/X86PC/linux/images/cauldron64.rdz iferror "$?" "Copie de cauldron64.rdz" $LINENO else info "erreur rsync cauldron" fi fi if [ $DISTRIB = $OLD ] || [ -z $DISTRIB ];then #Mageia $OLD title "Synchronisation de Mageia $OLD" rsync --ignore-existing -rlpP -H -S -v --delete-after --delete-excluded --delay-updates --exclude=*testing --exclude=clef --exclude="*debug/" --exclude="*armv7hl/" --exclude="*aarch64/" --exclude="*armv5tl/" --exclude="SRPMS/" $SERVEUR/distrib/$OLD/ "$MIRRORPATH"/distrib/$OLD/ if [ $? -eq 0 ]; then cd "$MIRRORPATH"/distrib/$OLD cp "$MEDIAINFO_PATH"/"$OLD"_i586_media.cfg ./i586/media/media_info/media.cfg iferror "$?" "Copie de "$OLD"_i586_media.cfg vers ./i586/media/media_info/media.cfg" $LINENO cp "$MEDIAINFO_PATH"/"$OLD"_x86_64_media.cfg ./x86_64/media/media_info/media.cf iferror "$?" "Copie de "$OLD"_x86_64_media.cfg vers ./x86_64/media/media_info/media.cfg" $LINENO #cp "$MIRRORPATH/$TASKRPM/"*mga$OLD* ./i586/media/core/release/ #iferror "$?" "Copie de $TASKRPM vers ./i586/media/core/release" $LINENO #cp "$MIRRORPATH/$TASKRPM/"*mga$OLD* ./x86_64/media/core/release/ #iferror "$?" "Copie de $TASKRPM vers ./x86_64/media/core/release" $LINENO nice -n 19 gendistrib --nobadrpm --blind --skipmissingdir ./i586 nice -n 19 gendistrib --nobadrpm --blind --skipmissingdir ./x86_64 #chown $DEFUSER:$DEFUSER -R "$MIRRORPATH"/distrib/$OLD #chmod a+rX -R "$MIRRORPATH"/distrib/$OLD rsync "$MIRRORPATH"/distrib/$OLD/i586/isolinux/i386/vmlinuz /var/lib/tftpboot/X86PC/linux/images/vmlinuz-mageia6 iferror "$?" "Copie de vmlinuz-$OLD" $LINENO rsync "$MIRRORPATH"/distrib/$OLD/x86_64/isolinux/x86_64/vmlinuz /var/lib/tftpboot/X86PC/linux/images/vmlinuz-mageia6_64 iferror "$?" "Copie de vmlinuz-$OLD" $LINENO rsync "$MIRRORPATH"/distrib/$OLD/i586/isolinux/i386/all.rdz /var/lib/tftpboot/X86PC/linux/images/mageia6.rdz iferror "$?" "Copie de $OLD.rdz" $LINENO rsync "$MIRRORPATH"/distrib/$OLD/x86_64/isolinux/x86_64/all.rdz /var/lib/tftpboot/X86PC/linux/images/mageia6_64.rdz iferror "$?" "Copie de $OLD64.rdz" $LINENO else info "erreur rsync Mageia $OLD" fi rsync --exclude "*GNOME*" -avP $SERVEUR/iso/"$OLD"* "$MIRRORPATH"/iso/ iferror "$?" "rsync Mageia $OLD isos" $LINENO fi #common #chown $DEFUSER:$DEFGROUP -R "$MIRRORPATH"/distrib chmod a+rX -R "$MIRRORPATH"/distrib sendmail -f $FROMMAIL $DESTMAIL <$MSG fi