1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-07-02 07:20:37 +02:00
fdroidserver/examples/mirror-to-mirror.sh
Hans-Christoph Steiner 465ec2e84e
mirror-to-mirror.sh: also sync to ftp.lysator.liu.se, in parallel
This is the deployed script for pushing to the primary mirrors.  It starts
with the 'repo' section and runs all the rsyncs in parallel to each primary
mirror.  Once the 'repo' syncs are done, it does the same process for the
'archive' syncs.

[skip ci]
2020-10-01 14:49:04 +02:00

29 lines
1.0 KiB
Bash

#!/bin/bash
#
# This script syncs the entire repo to the primary mirrors. It is
# meant to run in a cronjob quite frequently, as often as there are
# files to send.
#
# This script expects the receiving side to have the following
# preceeding the ssh key entry in ~/.ssh/authorized_keys:
# command="rsync --server -logDtpre.iLsfx --log-format=X --delete --delay-updates . /path/to/htdocs/fdroid/",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
#
set -e
(
flock -n 200
set -e
cd /home/fdroid
for section in repo archive; do
echo "Started $section at `date`:"
for host in fdroid@mirror.f-droid.org fdroid@ftp-push.lysator.liu.se; do
set -x
# be super careful with the trailing slashes here! if one is wrong, it'll delete the entire section!
rsync --archive --delay-updates --progress --delete \
/home/fdroid/public_html/${section} \
${host}:/srv/fdroid-mirror.at.or.at/htdocs/fdroid/ &
set +x
done
wait
done
) 200>/var/lock/root_fdroidmirrortomirror