#!/bin/bash # # sync-portage.sh – wrapper for Gentoo Portage rsync mirror # RSYNC_OPTS="-avH --partial --delete --delete-delay \ --safe-links --hard-links --numeric-ids \ --timeout=300 --contimeout=60 --info=progress2" TARGET="/brimstone1a/mirror/gentoo/portage" SOURCE="rsync://masterportage.gentoo.org" LOGFILE="/var/log/portage-sync.log" STATUSFILE="/var/www/mirror-status/portage.lastsync" # Run rsync and log output rsync $RSYNC_OPTS "$SOURCE" "$TARGET" >> "$LOGFILE" 2>&1 RC=$? # If rsync succeeded, update freshness marker if [ $RC -eq 0 ]; then date -u +%s > "$STATUSFILE" echo "$(date -u) : sync OK" >> "$LOGFILE" else echo "$(date -u) : sync FAILED with code $RC" >> "$LOGFILE" fi exit $RC