Moorfleeter Deich 216, 22113 Hamburg
+49 1774661716info@bastcom.deMo. - Fr.: 09:00 - 18:00

Blog

ITWeb Knowledge

Das bastCOM-Blogarchiv: Wissen und Anleitungen aus der Web- und IT-Praxis.

Rsync für Service transfer einrichten

← Zurück zum Blog

Damit das Rsync geht muss der Server auf dem das Script liegt eine Verbidung ohne PW mit der Service VM aufbauen können.

rsync.sh script zum HOLEN von Daten von der Service:

 

 

Damit das Rsync geht muss der Server auf dem das Script liegt eine Verbidung ohne PW mit der Service VM aufbauen können.

rsync.sh script zum HOLEN von Daten von der Service:

 

#!/bin/bash
#
# copy a file using rsync
#

# CONF

LOCKFILE=/tmp/.transfer.lock.tmp
WAIT_FOR_LOCKFILE=2

USAGE="nUsage: rsync.sh <user@services_vm>; <quelle_services_vm> <ziel_lokal>n"

if [ "x$1" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

if [ "x$2" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

if [ "x$3" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

while true ; do
 if [ ! -f $LOCKFILE ] ; then
  (set -C; : > $LOCKFILE) 2> /dev/null
    if [ $? == 0 ] ; then
      echo `date`

        # for safty wait of the last document
        sleep 10
        /usr/bin/rsync -avz --remove-sent-files  -e 'ssh -p 2222' $1:$2 $3
        STATUS=$?

    break
    else
     logger "Transfer ERROR creating lockfile, trying again"
      sleep $WAIT_FOR_LOCKFILE
    fi
   else
     sleep $WAIT_FOR_LOCKFILE
   fi
 done
rm "$LOCKFILE"

rsync_push.sh zu SENDEN zur Service VM:

#!/bin/bash
#
# copy a file using rsync
#

# CONF

LOCKFILE=/tmp/.transfer.lock.tmp
WAIT_FOR_LOCKFILE=2

USAGE="nUsage: rsync.sh <ziel_lokal> <user@services_vm>; <quelle_services_vm>n"

if [ "x$1" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

if [ "x$2" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

if [ "x$3" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

while true ; do
 if [ ! -f $LOCKFILE ] ; then
  (set -C; : > $LOCKFILE) 2> /dev/null
    if [ $? == 0 ] ; then
      echo `date`

        # for safty wait of the last document
        sleep 10
        /usr/bin/rsync -avz --remove-sent-files  -e 'ssh -p 2222' $1 $2:$3
        STATUS=$?

    break
    else
     logger "Transfer ERROR creating lockfile, trying again"
      sleep $WAIT_FOR_LOCKFILE
    fi
   else
    sleep $WAIT_FOR_LOCKFILE
   fi
done
rm "$LOCKFILE"

 

rsync_twice.sh script zum HOLEN von Daten von der Service für 2 Ziel Verzeichnisse:

#!/bin/bash
#
# copy a file using rsync
#

# CONF

LOCKFILE=/tmp/.transfer.lock.tmp
WAIT_FOR_LOCKFILE=2

USAGE="nUsage: rsync_twice.sh <user@services_vm>; <quelle_services_vm> <ziel_lokal> <ziel2_lokal>n"

if [ "x$1" == "x" ]; then
    echo -e ${USAGE}
    exit -1
fi

if [ "x$2" == "x" ]; then
    echo -e ${USAGE}
    exit -1
 fi   

if [ "x$3" == "x" ]; then
   echo -e ${USAGE}
   exit -1 
fi

if [ "x$4" == "x" ]; then
    echo -e ${USAGE}
    exit -1
 fi

while true ; do
 if [ ! -f $LOCKFILE ] ; then
  (set -C; : > $LOCKFILE) 2> /dev/null
    if [ $? == 0 ] ; then
      echo `date`

        # for safty wait of the last document
         sleep 10
        /usr/bin/rsync -avz -e 'ssh -p 2222' $1:$2 $3
        /usr/bin/rsync -avz --remove-sent-files  -e 'ssh -p 2222' $1:$2 $4
        STATUS=$?    

   break
   else
    logger "Transfer ERROR creating lockfile, trying again"
     sleep $WAIT_FOR_LOCKFILE
   fi
  else
   sleep $WAIT_FOR_LOCKFILE
  fi
done
rm "$LOCKFILE"