dl-1:~# cat /etc/conf.d/mqtt-exec.alpine-mirror
#
mqtt_topics="rsync/rsync.alpinelinux.org/#"
exec_user=buildozer
exec_command=/usr/local/bin/alpine-mirror
dl-1:~# cat /usr/local/bin/alpine-mirror
#!/bin/sh -x
# make sure we never run 2 rsync at the same time
lockfile="/tmp/alpine-mirror.lock"
if [ -z "$flock" ] ; then
exec env flock=1 flock $lockfile $0 "$@"
fi
rsync_opts=
while getopts "vP" opt; do
case $opt in
v|P) rsync_opts="$rsync_opts -$opt";;
esac
done
shift $(( $OPTIND - 1 ))
topic=$1
dir=$2
#src=rsync://rsync.alpinelinux.org/alpine/
src=rsync://nl.alpinelinux.org/alpine/
dest=/var/www/localhost/htdocs/alpine/
if [ -n "$dir" ] && [ -d "$dest/${dir%/*}" ]; then
src="${src}${dir%/}/"
dest="${dest}${dir%/}/"
fi
# uncomment this to only include v1.8 or newer
#exclude="--exclude v1.[1-7]"
mkdir -p "$dest"
/usr/bin/rsync -prua \
$exclude \
--delete \
--timeout=600 \
--delay-updates \
--delete-after \
$rsync_opts \
"$src" "$dest"
dl-1:~#