Keeping a central file repository

I have multiple computers for which I would like to keep files in sync.
I also happen to have a account on DreamHost as a webhosting company. There hosting plan includes a 50GB backup user so why not take advantage of that.

My first toughts was to use the very useful tool Unison, which I used at other occasions. The problem with the DreamHost backup user is that this account is limited to use only ftp, sftp, rsync and/or rdist. So Unison was out of the question.

So starting to look at rsync it was clear that rsync could not provide the same functions as Unison.

What I ended up using was this small script.


#!/bin/sh
# DHostsync.sh
# This script uses rsync to synchronize files between a local folder and a folder
# on a server using rsync.
#

SERVER=remoteuser@server:/home/user/DHostsync/
LOCAL=/home/localuser/DHostsync/

COMMAND="$1"

case $COMMAND in
up)
rsync -vaurP --delete $LOCAL $SERVER
;;
down)
rsync -vaurP --delete $SERVER $LOCAL
;;
*)
echo "This script should be run with the command up or down."
echo "up - Uploads local changes to server."
echo "down - Download files on server to local machine."
;;
esac

Tags: