What can you do when you want to backup your entire machine to a remote location but only have non-root shell access? You use rsyncd.
On the server you need to configure a module in /etc/rsyncd.conf:
[module_name] uid=0 gid=0 path=/path transfer logging=no read only=no
Then you need to rsync using a destination like user@host::module_name/
To make it work, you first need to set up a tunnel using SSH, because the rsync port (873) is not open in the firewall, most likely. So, you do this:
ssh -N -L 873:localhost:873 user@host
I wrote a script to automate this all. Perhaps I will follow-up on this post sometime and post it.