debian.org

Das Programm debmirror bietet eine sehr einfache Möglichkeit, einen Repository Server - bei Bedarf auch nur in Teilen - zu spiegeln.
Antworten
Benutzeravatar
THE-AB
Administrator
Beiträge: 15
Registriert: So 10. Apr 2016, 15:40

debian.org

Beitrag von THE-AB » So 10. Apr 2016, 16:47

dieses Script erstellt einen Spiegel von Debian und beinhaltet wheezy und jessie

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.

debmirror-debian.sh

Code: Alles auswählen

#!/bin/sh
logrotate --force /etc/logrotate.d/debmirror-debian
# anfang konfiguration debmirror
#
# gibt das log verzeichniss an
LOG0=/var/log/debmirror/_00_debmirror-single.log
LOG1=/var/log/debmirror/_01_debian.org.log

# gibt das lokale spiegelverzeichnis an
DEB_MIRROR=/var/www/debian/

# server von dem gespiegelt werden soll
DEB_HOST=ftp.de.debian.org

# verzeichnis des server von dem gespiegelt wird
DEB_ROOT=:debian/

# distribution (wheezy,sarge,sid ...)
DEB_DIST=jessie,jessie-backports,jessie-updates,jessie-proposed-updates,wheezy,wheezy-backports,wheezy-updates,wheezy-proposed-updates

# section die gespiegelt wird
DEB_SECT=main,contrib,non-free

# architektur
DEB_ARCH=i386,amd64,armhf

# zusätzliche optionen (man debmirror)
# --debug --progress --verbose --ignore-missing-release --ignore=debian-non-US --i18n --checksums
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
(
# Debian Spiegel                                                                                                                           
if [ $MESG = on ]
then
        echo "`/bin/date` Debian Aktualisieren..."
fi

debmirror $DEB_MIRROR --host=$DEB_HOST --arch=$DEB_ARCH --dist=$DEB_DIST --root=$DEB_ROOT --section=$DEB_SECT $DEB_OPT

if [ $MESG = on ]
then
        echo "`/bin/date` Debian 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
/etc/logrotate.d/debmirror-debian

Code: Alles auswählen

/var/log/debmirror/_01_debian.org.log {
	yearly
	missingok
	nocompress
	notifempty
	rotate 10
	create 640 root adm
	}

Antworten