L'idéal et de générer des clés SSH pour ne pas avoir à raisir les mots de passe et ainsi pourquoi mettre en cron la synchro si besoin. J'avais trouvé une partie du script sur un site dont je ne me souviens pas du nom, donc merci à eux quand même :)

#!/bin/sh
# sync
DIRECTORY=/var/www/DOSSIER_A_SYNCHRONISER/
SRC=${DIRECTORY}
DEST=/var/www/DOSSIER_A_SYNCHRONISER/
#La source est locale
SRC_HOST=localhost
# La destination : le serveur sur lequel on publie les données
DEST_HOST=www.serveur.com
# l'utilisateur unix qui se connecte en ssh
USER=UTILISATEUR
# Fichiers contenant les listes d'exclusions et d'inclusions
#EXCLUDES=${DIRECTORY}/synchro/excludes
#INCLUDES=${DIRECTORY}/synchro/includes
# Option passee a rsync
# Optionnellement on peut supprimer les fichiers exclus
#OPTS="-anvzSH --delete --delete-excluded"
OPTS="-avzSH --delete"
### Start programme
[ -f $EXCLUDES ] && EXCL_OPT="--exclude-from=$EXCLUDES"
[ -f $INCLUDES ] && INCL_OPT="--include-from=$INCLUDES"
# Shoot les messages
# exec > /dev/null 2>&1
# Kill dernier rsync si encore en cour d'execution
progname=`basename $0`
pidfile=/var/run/$progname.pid
oldpid=`cat $pidfile 2>/dev/null`
# Si valeur de $oldpid non null, tue le process
if [ $oldpid ]; then
test -n $oldpid && kill $oldpid && kill -9 $oldfile
fi
# Lance le sync
rsync $OPTS --exclude-from=$EXCLUDES --include-from=$INCLUDES -e ssh $SRC $USER@$DEST_HOST:$DEST
# Si on veut attaquer le serveur SSH sur un autre port :
#rsync $OPTS --exclude-from=$EXCLUDES --include-from=$INCLUDES -e 'ssh -p 26' $SRC $USER@$DEST_HOST:$DEST
# Mets a jour le pid dans le fichier
echo $! >$pidfile