From 6f1ed1a3ed0cef03671b61835f0143cf39150ac1 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Sat, 20 Jun 2015 11:10:47 +0200 Subject: [PATCH] simpler mirroring script --- fedora-mirror2.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 fedora-mirror2.sh diff --git a/fedora-mirror2.sh b/fedora-mirror2.sh new file mode 100644 index 00000000..01db09e5 --- /dev/null +++ b/fedora-mirror2.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# +# using fedora's mirrormanager (hence report_mirror) +# inspired by +# http://www.techrepublic.com/blog/linux-and-open-source/create-a-local-fedora-mirror-system-and-get-blazing-fast-updates/ + +current_versions="20 21 22" +upstream_url=rsync://mirror2.hs-esslingen.de/fedora/linux + +### +fdest="/mirror/fedora" +# xxx not sure if useful +excludes_file=/mirror/fedora/fedora-excludes.txt + +lock=".rsync_updates.lock" +options="$@" + +# for safety - clear lock if older than 4 hours +GRACE=240 +is_old=$(find $lock -mmin +$GRACE 2> /dev/null) +if [ -n "$is_old" ] ; then + msg "$lock is older than $GRACE minutes - removing" + rm -f $lock +fi + +if [ -f ${lock} ]; then + echo "Updates via rsync already running." + exit 0 +fi + +for version in $current_versions; do + if [ -d ${fdest}/releases/${version}/Everything ]; then + echo "Synchronizing Fedora ${version}" + pushd ${fdest}/releases/${version} >& /dev/null + rsync -avH ${upstream_url}/releases/${version}/Everything . --exclude-from=${excludes_file} ${options} \ + --numeric-ids --delete --delete-after --delay-updates + popd >& /dev/null + if [ "${version}" == "14" ]; then + echo "Synchronizing Fedora updates for version ${version}" + pushd ${fdest}/updates/${version} >& /dev/null + rsync -avH ${upstream_url}/updates/${version}/ . --exclude-from=${excludes_file} ${options} \ + --numeric-ids --delete --delete-after --delay-updates + popd >& /dev/null + fi + else + echo "Target directory ${fdest}/${releases}/${version}/ not present." + fi +done + +# report to fedora's infra +/usr/bin/report_mirror + +#clear lock +/bin/rm -f ${lock} -- 2.43.0