Mirmon at Savannah

NOTE: This page describe the previous implementation. In 2017, Savannah's infrastructure was upgraded and improved. See Mirroring for updated information.

Our mirmon instance operates on download.savannah.gnu.org. We run three instances of mirmon: one each for http mirrors of ftp.gnu.org and of download.savannah.nongnu.org for use by a multiplexor so users can be automatically redirected, and a third for all mirrors of ftp.gnu.org, for human consumption.

The general information page for folks willing to run mirrors for either gnu or nongnu is http://www.gnu.org/server/mirror.html. More mirrors are always welcome. Savannah admins: the process for adding new nongnu mirrors is at the end of the DownloadArea page.

GNU info

The list of ftp.gnu.org mirrors is http://www.gnu.org/prep/ftp.html, generated from http://www.gnu.org/prep/FTP, maintained by webmasters.

The "gnu" mirmon instance is for the multiplexor that automatically redirects downloads to a (hopefully) nearby and up to date mirror. Only http urls are included, because everything else has proven too unreliable for users in practice.

The "allgnu" mirmon instance is for humans to look at, most notably those checking and updating the status of GNU mirrors (a thankless but useful task):

nongnu info

The savannah mirmon is the basis for a multiplexor of savannah.nongnu.org, operating in the same way:

More multiplexor and other details

  • The actual redirection is done in the web server, specifically the module Apache2::Geo::Mirror->auto_redirect,
  • which takes the list of GNU mirrors from the file download0:/opt/savannah/mirrors/mirmon-lists/gnu-mirror-list.txt,
  • which is automatically created by /opt/savannah/mirrors/scripts/get-gnu-mirror-list.pl
  • which in turn is updated nightly by a download0:/etc/cron.d/sv-mirmon cron entry.

The mirmon state and redirection lists are updated hourly for both multiplexors (gnu, nongnu), each of which has its own script, download0:/root/bin/mirrors-{gnu,nongnu}.sh, run via mirmon cron entries. Likewise the "allgnu" mirmon is run hourly. The geo location data is updated monthly via download0:/etc/cron.d/maxmind, stored in download0:/usr/local/share/GeoIP.