das Script versteht sich mit etwas Grundwissen fast von selbst, es kann leicht auf andere Spiegelserver angepasst werden
da ich keine passende Lösung für Logrotate gefunden habe wird bei jedem ausführen Logrotate manuell gestartet, so ist sichergestellt das für jeden start eine neue logdatei erstellt wird und die alte gesichert.
download.webmin.com PGP PUBLIC KEY D97A3AE911F63C51
Code: Alles auswählen
als root
cd /opt
wget http://www.webmin.com/jcameron-key.asc
gpg --import /opt/jcameron-key.asc
gpg --no-default-keyring -a --keyring /root/.gnupg/pubring.gpg --export D97A3AE911F63C51 | gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.gpg --import -
Code: Alles auswählen
#!/bin/sh
logrotate --force /etc/logrotate.d/debmirror-webmin
## anfang konfiguration debmirror
#
# gibt das log verzeichniss an
LOG0=/var/log/debmirror/_00_debmirror-single.log
LOG1=/var/log/debmirror/_01_download.webmin.com.log
# gibt das lokale spiegelverzeichnis an
DEB_MIRROR=/var/www/download.webmin.com
# server von dem gespiegelt werden soll
DEB_HOST=download.webmin.com
# verzeichnis des server von dem gespiegelt wird
DEB_ROOT=:download/repository/
# distribution (wheezy,sarge,sid ...)
DEB_DIST=sarge
# section die gespiegelt wird
DEB_SECT=contrib
# architektur
DEB_ARCH=i386,amd64,armhf
# zusätzliche optionen (man debmirror)
DEB_OPT="--method=rsync --passive --nosource --i18n --checksums --progress --diff=none"
DEB_OPT2="-v --method=ftp --passive --nosource --i18n --checksums --progress --diff=none"
DEB_OPT3="-v --method=http --passive --nosource --i18n --checksums --progress --diff=none"
DEB_OPT4="-v --method=http --passive --nosource --i18n --allow-dist-rename --checksums --progress --diff=none"
DEB_OPT5="-v --method=http --passive --nosource --i18n --ignore-small-errors --checksums --progress --diff=none"
# anzeigen der nachricht
MESG=on
(
if [ $MESG = on ]
then
echo ""
echo "--- `/bin/date` --- debmirror Aktualisierung..."
echo ""
fi
(
# download.proxmox.com
if [ $MESG = on ]
then
echo "`/bin/date` download.webmin.com Aktualisieren..."
fi
debmirror $DEB_MIRROR --host=$DEB_HOST --arch=$DEB_ARCH --dist=$DEB_DIST --root=$DEB_ROOT --section=$DEB_SECT $DEB_OPT3
if [ $MESG = on ]
then
echo "`/bin/date` download.webmin.com Aktualisierung fertig."
echo ""
fi
) 2>&1 | tee $LOG1 >/dev/null
#
## ende konfiguration
if [ $MESG = on ]
then
echo "--- `/bin/date` --- debmirror Aktualisierung fertig."
echo ""
fi
) | tee $LOG0 >/dev/null 2>&1 &
exit
Code: Alles auswählen
/var/log/debmirror/_01_download.webmin.com.log {
yearly
missingok
nocompress
notifempty
rotate 10
create 640 root adm
}