]> asedeno.scripts.mit.edu Git - sipb-mirrors.git/blob - fetch-hudson
3a18fde4dfb78b1bfc0ab665b9f319ed318db954
[sipb-mirrors.git] / fetch-hudson
1 #!/bin/bash
2
3 set -e
4
5 . ./OPTIONS.sh
6
7 scriptname=$1
8 shift
9
10 if [ -z "$scriptname" ]; then
11     echo "Run with a fetch script as an argument:"
12     (cd fetch-scripts && ls)
13     exit 1
14 fi
15
16 if ! [ -e fetch-scripts/"$scriptname" ]; then
17     echo "Unknown fetch script $scriptname"
18     exit 1
19 fi
20
21 echo "Logging the rsync version used"
22 rsync --version
23
24 date +"Starting $scriptname: %c"
25
26 # Use flock(1) in exclusive mode, waiting up to 5 minutes.
27 (
28     flock -x -w 300 200 || exit 1
29     date +"Received lock: %c"
30     (. fetch-scripts/"$scriptname") && :
31     exit $?
32 ) 200>"$MIRRORDIR/.locks/$scriptname"
33
34 exitstatus=$?
35 date +"Done: %c"
36 exit $exitstatus