Both rsync server and client running in a docker container.
This server is based off of https://github.com/bfosberry/rsync with a few modifications.
Launch the container via docker:
$ docker run -d -p 873 \
-e USERNAME="myuser" \
-e PASSWORD="mypassword" \
-v /your/data-folder:/data betacz/rsync:serverIn default, rsync server accepts a connection only from 192.168.0.0/16 and 172.12.0.0/12 for security reasons. You can override via an environment variable like this:
$ docker run -d -p 873 -e ALLOW='10.0.0.0/8 x.x.x.x/y' betacz/rsync:serverThis client supports run rsync periodically.
Usage
$ docker run -d -v /your/data-folder:/data \
-e SERVER_ADDR=<server> \
-e PORT=<port> \
-e USER=<username> \
-e RSYNC_PASSWORD=<password> \
-e DATA_TARGET=<target_folder> \
-e SCHEDULE="<schedule>" \
betacz/rsync:client <rsync options>Schedule
Schedule can assigned as following syntax:
"15min": every 15 minutes."hourly": 0 minute every hour."daily": 02:00 every day."weekly": 03:00 on Sunday every week."monthly": 05:00 on 1st every month."5/* * * * *": any schedule by crontab syntax
Released under the GPL2 License.