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: