171 lines
8.0 KiB
Bash
Executable File
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
|