From 13eb2d51c7284472efabc278bf9b7ec0b8575e47 Mon Sep 17 00:00:00 2001 From: doc Date: Sun, 14 Sep 2025 22:13:41 +0000 Subject: first commit --- gentoo-lastsync.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 gentoo-lastsync.sh (limited to 'gentoo-lastsync.sh') diff --git a/gentoo-lastsync.sh b/gentoo-lastsync.sh new file mode 100755 index 0000000..e388c0e --- /dev/null +++ b/gentoo-lastsync.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Upstream (Arch Geo CDN points to a Tier-1 close to you) +UPSTREAM="rsync://masterdistfiles.gentoo.org/gentoo/" + +# Your mirror (the VIP that Arch probes) +MIRROR="https://stygian.failzero.net/mirror/gentoo/lastsync" + +# Log file +LOGFILE="/var/log/mirrors/delay.log" +mkdir -p "$(dirname "$LOGFILE")" + +# Fetch timestamps (seconds since epoch) +u=$(curl -fsS "$UPSTREAM" || echo 0) +m=$(curl -fsS "$MIRROR" || echo 0) + +if [[ "$u" =~ ^[0-9]+$ && "$m" =~ ^[0-9]+$ ]]; then + delay_min=$(( (u - m) / 60 )) + echo "$(date -Is) upstream=$u mirror=$m delay=${delay_min}m" >> "$LOGFILE" +else + echo "$(date -Is) error fetching lastsync" >> "$LOGFILE" + +curl -fsS https://geo.mirror.pkgbuild.com/lastsync > "$LIVE/lastsync" \ + || date -u +%s > "$LIVE/lastsync" + +fi -- cgit v1.2.3