diff options
Diffstat (limited to '')
-rwxr-xr-x | bin/reprepro_mirror.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/bin/reprepro_mirror.sh b/bin/reprepro_mirror.sh new file mode 100755 index 0000000..b45a978 --- /dev/null +++ b/bin/reprepro_mirror.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +set -e + +MODULES="${1:-packages images}" + +HOSTNAME="$(hostname -f)" +DOMAIN="$(hostname -d)" + +Rsync () +{ + SERVER="${1}" + MODULE="${2}" + DIRECTORY="${3}" + + mkdir -p "${DIRECTORY}" + touch "${DIRECTORY}/Archive-Update-in-Progress-${HOSTNAME}" + + rsync -aPHv --progress --no-motd \ + ${SERVER}::${MODULE} \ + --exclude dists --exclude project/trace \ + "${DIRECTORY}" + + rsync -aPHv --progress --no-motd --delete \ + ${SERVER}::${MODULE} \ + "${DIRECTORY}" + + mkdir -p "${DIRECTORY}/project/trace" + echo "$(date -R)" > "${DIRECTORY}/project/trace/${HOSTNAME}" +} + +for MODULE in ${MODULES} +do + Rsync apt.${DOMAIN} ${MODULE} "/srv/${HOSTNAME}/${MODULE}" +done |