Central rsync backup server Features: RSYNC_PORT=6502 ./rsync-piper.pl - generate rsync configuration based on content of RSYNC_DIR/users - start rsync server on specified port - follow rsync transfer log, parse it and trigger events - file/dir metadata in json (with VFS-like API) - deduplicate files using md5 pool and hardlinks - gearman log shipping in json format - support login+host usernames for client secrets - push md5sum file to create files from server's md5 pool data-worker.pl - gearman worker to store rsync transfer log into PostgreSQL create-user.sh remove-user.sh - create/remove user's directory and data test.sh - excercise rsync server to test basic operation and deduplication Installation on Debian: $ ./bin/debian-install.sh Disk quota calculation depends on custom POSIX ids created using libnss-extrausers so ensure that /etc/nsswitch.conf has extrausers enabled: $ egrep '^(passwd|group):' /etc/nsswitch.conf passwd: compat extrausers group: compat extrausers Install default test user and first slice: $ sudo cp -v extrausers/* /var/lib/extrausers/ `extrausers/group' -> `/var/lib/extrausers/group' `extrausers/passwd' -> `/var/lib/extrausers/passwd'