#!/bin/bash if [ $# -ne 2 ]; then echo "Exactly two parameter needed. category and /path/to/logfile" exit 1 fi exec >> $2 exec 2>&1 CURDATE=`date +%s` if [ "${1}" == "fedora" ]; then CATEGORY="Linux" elif [ "${1}" == "epel" ]; then CATEGORY="EPEL" elif [ "${1}" == "alt" ]; then CATEGORY="Other" elif [ "${1}" == "fedora-secondary" ]; then CATEGORY="Secondary Arches" elif [ "${1}" == "archive" ]; then CATEGORY="Archive" fi if [ -e /var/run/mirrormanager/umdl-${1} ]; then . /var/run/mirrormanager/umdl-${1} else # 24 hours -> 86400 seconds let LASTRUN=CURDATE-86400 fi # FULLFILETIMELIST -> FFTL FFTL="/srv/pub/${1}/fullfiletimelist-${1}" FILEDATE=`stat -c %Z ${FFTL} 2> /dev/null` if [ "$?" -eq "1" ]; then echo "Error stat() of ${FFTL} failed. This should not happen." exit 1 fi if [ "$LASTRUN" -gt "$FILEDATE" ]; then # no changes on the master mirror # abort exit 0 fi echo -n "${FFTL} has changed since last run. Running umdl for Fedora ${CATEGORY} at " date /usr/local/bin/lock-wrapper umdl-${1} "/usr/bin/mm2_update-master-directory-list --category \"Fedora ${CATEGORY}\"" if [ "$?" -eq "0" ]; then # success! remember the date of this run echo "LASTRUN=${CURDATE}" > /var/run/mirrormanager/umdl-${1} echo -n "Finished umdl for Fedora ${CATEGORY} successfully at " date exit 0 fi echo -n "umdl for Fedora ${CATEGORY} returned non-zero. Something failed. Please check umdl.log. " date