#!/bin/sh ## ## This is the official eclipse.org mirror site script. ## ## Set your options and run once manually, then as a cronjob - preferably not as root ## ## Last updated: 2012-07-10 by Denis Roy (webmaster@eclipse.org) ## ## ## User-defined options # Set the base path for your mirror site here # No ending / mirror_path="/path/to/mirror" # path to your RSYNC binary RSYNC=/usr/bin/rsync # Lockfile location - prevents rsync script from re-spawning LOCKFILE="/tmp/eclipse_lockfile" # if you rsync from master server, use these options RSYNC_HOST=download.eclipse.org RSYNC_PATH=eclipseMirror # Alternate RSYNC. Comment the master server options above # RSYNC_HOST=rsync.gtlib.gatech.edu # RSYNC_PATH=eclipse # Alternate RSYNC. Comment the master server options above # RSYNC_HOST=rsync.osuosl.org # RSYNC_PATH=eclipse # Select the content you want to mirror. # Please see http://eclipse.org/downloads for information on the space requirements. # full_eclipse is a complete eclipse.org mirror, without nightly builds. This is what most people want. # If you set this to no, set the projects you want to yes below. full_eclipse=yes # full_patform is the Eclipse Platform project. # It includes Stable and Release builds, but not nightlies. # It does not include any other project (Release trains, tools, webtools, technology, birt, etc) full_platform=no # All Simultaneous Releases. This will be a high-demand item. Say no here if you said yes to full_eclipse. release_trains=no # BIRT project. Say no here if you said yes to full_eclipse. full_birt=no # modeling Project. Say no here if you said yes to full_eclipse. full_modeling=no # RT Project. Say no here if you said yes to full_eclipse. full_rt=no # technology Project. Say no here if you said yes to full_eclipse. full_technology=no # Tools project. Say no here if you said yes to full_eclipse. full_tools=no # Testing and Performance Tools Project (TPTP). Say no here if you said yes to full_eclipse. full_tptp=no # Webtools project. Say no here if you said yes to full_eclipse. full_webtools=no # Datatools project. Say no here if you said yes to full_eclipse. full_datatools=no ## End: User-defined options ## # ## Contributed by Gabriel Akos 2005-10-14 host $RSYNC_HOST > /dev/null hres=$? if [ $hres -ne 0 ]; then echo "Eclipse mirror - host $RSYNC_HOST resolution failed" >/dev/stderr exit 1 fi if [ -e $LOCKFILE ]; then echo "Eclipse mirror - Lockfile $LOCKFILE exists" >/dev/stderr exit 1 fi touch $LOCKFILE ## END: Contributed by Gabriel Akos 2005-10-14 # # required "mirror root" timestamp. # All mirror sites must get this. $RSYNC -tlvp $RSYNC_HOST::$RSYNC_PATH/TIME $mirror_path if [ $full_eclipse == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/* $mirror_path fi if [ $full_platform == yes ] ; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/eclipse/* $mirror_path/eclipse/ fi if [ $release_trains == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/releases/* $mirror_path/releases/ fi if [ $full_birt == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/birt/* $mirror_path/birt/ fi if [ $full_modeling == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/modeling/* $mirror_path/modeling/ fi if [ $full_rt == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/rt/* $mirror_path/rt/ fi if [ $full_technology == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/technology/* $mirror_path/technology/ fi if [ $full_tools == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/tools/* $mirror_path/tools/ fi if [ $full_tptp == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/tptp/* $mirror_path/tptp/ fi if [ $full_webtools == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/webtools/* $mirror_path/webtools/ fi if [ $full_datatools == yes ]; then $RSYNC -rtlvp --delete $RSYNC_HOST::$RSYNC_PATH/datatools/* $mirror_path/datatools/ fi # required "mirror root" timestamp. # All mirror sites must get this. $RSYNC -tlvp $RSYNC_HOST::$RSYNC_PATH/ztime/* $mirror_path/ztime/ rm $LOCKFILE