1
0
Fork 0
This repository has been archived on 2023-11-30. You can view files and clone it, but cannot push or open issues or pull requests.
dtux__config_lalis/mirror_mageia

171 lines
8.0 KiB
Bash
Executable File

#!/usr/bin/sh
PRESENT=9
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.cfg
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