Created
January 24, 2011 09:48
-
-
Save patrickhempel/793019 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
############################################################# | |
# compuccino - Server Synchronisierung | |
############################################################# | |
# User festlegen, mit dem synchronisiert werden soll | |
# Muss die entsprechenden Rechte am Ziel-Server haben | |
# Beispiel: User "mirror" | |
USER=$1 | |
# Lokales Verzeichnis festlegen, dass synchronisiert werden soll | |
# Beispiel: "/home/compuccino/" | |
LOCAL_DIR=$2 | |
# Ziel-Server festlegen | |
# Beispiel: "www2.compuccino.com" | |
DESTINATION_SERVER=$3 | |
# Port des Ziel-Servers festlegen | |
# Beispiel: 22 | |
PORT=$4 | |
# Ziel-Verzeichnis festlegen | |
# Beispiel: "/home/compuccino/" | |
DESTINATION_DIR=$5 | |
# Verzeichnisse angeben, die von der Synchronisierung ausgeschlossen werden sollen | |
# Beispiel: ".ssh/" und ".bash_history) | |
EXCLUDE_DIR=$6 | |
# Mit einer For-Schleife alle Verzeichnisse durchgehen, die ausgeschlossen werden sollen | |
for DIR in $EXCLUDE_DIR | |
do | |
EXCLUDE_DIRS="$EXCLUDE_DIRS --exclude=$DIR" | |
done | |
# Ausgabe | |
echo "1. User: $USER" | |
echo "2. Local Dir: $LOCAL_DIR" | |
echo "3. Destination Server: $DESTINATION_SERVER" | |
echo "4. Destination Dir: $DESTINATION_DIR" | |
echo "5. Exclude Dirs: $EXCLUDE_DIRS" | |
echo "---------------------------------------------" | |
# Das eigentliche rsync Kommando | |
rsync -e "/usr/bin/ssh -p$PORT -l $USER -i /home/$USER/.ssh/id_rsa" -a --progress --stats | |
\ --rsync-path="sudo rsync" $EXCLUDE_DIRS --delete -l -z -v -r -p -o -g -H | |
\ $LOCAL_DIR $USER@$DESTINATION_SERVER:$DESTINATION_DIR | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment