Last change
on this file since 1220 was 1210, checked in by joergs, on Apr 12, 2016 at 4:58:03 PM |
make mirror script more flexible.
Use configuration files and helper scripts.
|
-
Property svn:executable
set to
*
|
File size:
1.0 KB
|
Rev | Line | |
---|
[1091] | 1 | #!/bin/bash
|
---|
| 2 |
|
---|
[1210] | 3 | set -o errexit -o nounset
|
---|
[1091] | 4 |
|
---|
[1210] | 5 | CONFIG=${1:-/etc/mirror-urls.conf}
|
---|
[1091] | 6 |
|
---|
[1210] | 7 | # default value, may be overwritten by CONFIG
|
---|
| 8 | DEST="/cds/linux/mirror/"
|
---|
[1091] | 9 |
|
---|
[1210] | 10 | if ! [ -r "$CONFIG" ]; then
|
---|
| 11 | echo "failed to read config file $CONFIG."
|
---|
| 12 | exit 1
|
---|
| 13 | fi
|
---|
| 14 | source $CONFIG
|
---|
[1091] | 15 |
|
---|
| 16 | FAILED=""
|
---|
[1210] | 17 | SUCCESS=""
|
---|
[1091] | 18 |
|
---|
| 19 | cd $DEST
|
---|
| 20 |
|
---|
| 21 | for url in $PROJECTS; do
|
---|
[1210] | 22 | printf "$url:\n"
|
---|
| 23 | protocol=`sed -r "s|^([a-zA-Z]+)://.*|\1|" <<< $url`
|
---|
| 24 | host=`sed -r "s|^$protocol://([^/]+)/.*|\1|" <<< $url`
|
---|
| 25 | path=`sed -r "s|$protocol://$host||" <<< $url`
|
---|
| 26 | mkdir -p $host/$path
|
---|
| 27 | DESTDIR=$DEST/$host/$path
|
---|
| 28 | #set -x
|
---|
| 29 | if ! lftp -c "open -e \"mirror --verbose=1 --parallel=20 --continue --delete $path/. ${DESTDIR}\" ${protocol}://${host}"; then
|
---|
| 30 | set +x
|
---|
| 31 | printf " failed\n"
|
---|
| 32 | FAILED="$FAILED $url"
|
---|
| 33 | else
|
---|
| 34 | set +x
|
---|
| 35 | if [ "${POST_SCRIPT:-}" ]; then
|
---|
| 36 | $POST_SCRIPT ${DESTDIR}
|
---|
| 37 | fi
|
---|
| 38 | printf " ${DESTDIR}\n"
|
---|
| 39 | SUCCESS="$SUCCESS $url"
|
---|
| 40 | fi
|
---|
| 41 | printf "\n"
|
---|
[1091] | 42 | done
|
---|
| 43 |
|
---|
[1210] | 44 | if [ "${REPORT_SCRIPT:-}" ]; then
|
---|
| 45 | $REPORT_SCRIPT mirror-urls "$SUCCESS" "$FAILED"
|
---|
| 46 | fi
|
---|
Note:
See
TracBrowser
for help on using the repository browser.