#!/bin/bash set -e while :; do port=$RANDOM [[ $port -gt 1024 && $port -lt 65535 ]] && break done tmpdir=$(mktemp -d /tmp/start-rsyncd.sh.XXXXXX) cleanup() { rm -rf "$tmpdir" } trap cleanup EXIT INT TERM cat <"$tmpdir/rsyncd.conf" max connections = 1 pid file = $tmpdir/pid lock file = $tmpdir/lock use chroot = no log file = /dev/stderr read only = true port = $port uid = $USER [share] path = $PWD EOF echo "use: rsync -rtP --port $port \"rsync://$(hostname -f)/share/\" \"share-copy/\"" echo "stating rsyncd..." rsync --daemon --no-detach --config="$tmpdir/rsyncd.conf"