#!/bin/bash

##
## This is the official eclipse.org mirror site script.
##
## Set your options and run once manually, then as a cronjob
##
## Last updated: 2015-06-11 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

## 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 

# mirror everything
$RSYNC -rtvp --delete $RSYNC_HOST::$RSYNC_PATH/* $mirror_path

# required "mirror root" timestamp.
# All mirror sites must get this.
$RSYNC -tvp $RSYNC_HOST::$RSYNC_PATH/ztime/* $mirror_path/ztime/

rm $LOCKFILE