diff --git a/xtrabackup/files/innobackupex-client-runner.sh b/xtrabackup/files/innobackupex-client-runner.sh
index ec628bb..378f157 100644
--- a/xtrabackup/files/innobackupex-client-runner.sh
+++ b/xtrabackup/files/innobackupex-client-runner.sh
@@ -1,6 +1,6 @@
 {%- from "xtrabackup/map.jinja" import client with context %}
 {%- from "xtrabackup/map.jinja" import server with context %}
-#!/bin/sh
+#!/bin/sh -eo pipefile
 #
 # Script to create full and incremental backups (for all databases on server) using innobackupex from Percona.
 # http://www.percona.com/doc/percona-xtrabackup/innobackupex/innobackupex_script.html
@@ -10,19 +10,19 @@
 
 SKIPCLEANUP=false
 while getopts ":skip-cleanup" opt; do
-  case $opt in
-    skip-cleanup)
-      echo "Cleanup will be skipped" >&2
-      SKIPCLEANUP=true
-      ;;
-    force-full)
-      echo "Full backup will be force triggered"
-      FORCEFULL=true
-      ;;
-    \?)
-      echo "Invalid option: -$OPTARG" >&2
-      ;;
-  esac
+    case $opt in
+        skip-cleanup)
+            echo "Cleanup will be skipped" >&2
+            SKIPCLEANUP=true
+        ;;
+        force-full)
+            echo "Full backup will be force triggered"
+            FORCEFULL=true
+        ;;
+        \?)
+            echo "Invalid option: -$OPTARG" >&2
+        ;;
+    esac
 done
 USEROPTIONS="--user={{ client.database.user }} --password={{ client.database.password }}{%- if client.database.host is defined %} --host {{ client.database.host }} --port {{ client.database.get('port', '3306') }}{%- else %} --socket=/var/run/mysqld/mysqld.sock{%- endif %}"
 #TMPFILE="/var/log/backups/innobackupex-runner.$$.tmp"
@@ -58,6 +58,7 @@
 {%- endif %}
 
 mkdir -p $LOGDIR
+mkdir -p $TMPFILE
 
 # Grab start time
 STARTED_AT=`date +%s`
@@ -67,21 +68,21 @@
 #############################################################################
 error()
 {
-	echo "$1" 1>&2
-	exit 1
+    echo "$1" 1>&2
+    exit 1
 }
 
 # Check prerequisites before proceeding
 if [ ! -d $BACKUPDIR ]; then
-  error "Backup destination folder: $BACKUPDIR does not exist."
+    error "Backup destination folder: $BACKUPDIR does not exist."
 fi
 
 if [ -z "`$MYSQLADMIN $USEROPTIONS status | grep 'Uptime'`" ] ; then
- error "HALTED: MySQL does not appear to be running."
+    error "HALTED: MySQL does not appear to be running."
 fi
 
 if ! `echo 'exit' | $MYSQL -s $USEROPTIONS` ; then
- error "HALTED: Supplied mysql username or password appears to be incorrect (not copied here for security, see script)."
+    error "HALTED: Supplied mysql username or password appears to be incorrect (not copied here for security, see script)."
 fi
 
 # Some info output
@@ -103,13 +104,13 @@
 
 # If compression is enabled, pass it on to the backup command
 if [ "$compression" = True ]; then
-  compress="--compress"
-  compression_threads="--compress-threads=$compression_threads"
-  echo "Setting compression to True"
-  echo
+    compress="--compress"
+    compression_threads="--compress-threads=$compression_threads"
+    echo "Setting compression to True"
+    echo
 else
-  compress=
-  compression_threads=
+    compress=
+    compression_threads=
 fi
 
 # If throttling is enabled, pass it on to the backup command
@@ -123,25 +124,25 @@
 {%- if client.backup_times is not defined %}
 # Run an incremental backup if latest full is still valid. Otherwise, run a new full one.
 if [ "$LATEST_FULL" -a `expr $LATEST_FULL_CREATED_AT + $FULLBACKUPLIFE + 5` -ge $STARTED_AT ] ; then
-  # Create incremental backups dir if not exists.
-  TMPINCRDIR=$INCRBACKUPDIR/$LATEST_FULL
-  mkdir -p $TMPINCRDIR
+    # Create incremental backups dir if not exists.
+    TMPINCRDIR=$INCRBACKUPDIR/$LATEST_FULL
+    mkdir -p $TMPINCRDIR
 
-  # Find latest incremental backup.
-  LATEST_INCR=`find $TMPINCRDIR -mindepth 1 -maxdepth 1 -type d | sort -nr | head -1`
+    # Find latest incremental backup.
+    LATEST_INCR=`find $TMPINCRDIR -mindepth 1 -maxdepth 1 -type d | sort -nr | head -1`
 
-  # If this is the first incremental, use the full as base. Otherwise, use the latest incremental as base.
-  if [ ! $LATEST_INCR ] ; then
-    INCRBASEDIR=$FULLBACKUPDIR/$LATEST_FULL
-  else
-    INCRBASEDIR=$LATEST_INCR
-  fi
+    # If this is the first incremental, use the full as base. Otherwise, use the latest incremental as base.
+    if [ ! $LATEST_INCR ] ; then
+        INCRBASEDIR=$FULLBACKUPDIR/$LATEST_FULL
+    else
+        INCRBASEDIR=$LATEST_INCR
+    fi
 
-  echo "Running new incremental backup using $INCRBASEDIR as base."
-  innobackupex --defaults-file=$MYCNF $USEROPTIONS $throttle $compress $compression_threads --incremental $TMPINCRDIR --incremental-basedir $INCRBASEDIR > $TMPFILE 2>&1
+    echo "Running new incremental backup using $INCRBASEDIR as base."
+    innobackupex --defaults-file=$MYCNF $USEROPTIONS $throttle $compress $compression_threads --incremental $TMPINCRDIR --incremental-basedir $INCRBASEDIR 2>&1 | tee $TMPFILE
 else
-  echo "Running new full backup."
-  innobackupex --defaults-file=$MYCNF $USEROPTIONS $throttle $compress $compression_threads $FULLBACKUPDIR > $TMPFILE 2>&1
+    echo "Running new full backup."
+    innobackupex --defaults-file=$MYCNF $USEROPTIONS $throttle $compress $compression_threads $FULLBACKUPDIR 2>&1 | tee $TMPFILE
 fi
 {%- else %}
 # Get number of full and incremental backups
@@ -152,36 +153,34 @@
 echo "----------------------------"
 #If number of incremental mod number of full backups to keep equals 1, run full backup, otherwise run incremental
 if [ $(( ($NUMBER_OF_INCR + $NUMBER_OF_FULL) % ($INCRBEFOREFULL + 1) )) -eq 0 || FORCEFULL=true ] ; then
-  echo "Running new full backup."
-  innobackupex --defaults-file=$MYCNF $USEROPTIONS $compress $compression_threads $FULLBACKUPDIR > $TMPFILE 2>&1
+    echo "Running new full backup."
+    innobackupex --defaults-file=$MYCNF $USEROPTIONS $compress $compression_threads $FULLBACKUPDIR 2>&1 | tee $TMPFILE
 else
-  # Create incremental backups dir if not exists.
-  TMPINCRDIR=$INCRBACKUPDIR/$LATEST_FULL
-  mkdir -p $TMPINCRDIR
+    # Create incremental backups dir if not exists.
+    TMPINCRDIR=$INCRBACKUPDIR/$LATEST_FULL
+    mkdir -p $TMPINCRDIR
 
-  # Find latest incremental backup.
-  LATEST_INCR=`find $TMPINCRDIR -mindepth 1 -maxdepth 1 -type d | sort -nr | head -1`
+    # Find latest incremental backup.
+    LATEST_INCR=`find $TMPINCRDIR -mindepth 1 -maxdepth 1 -type d | sort -nr | head -1`
 
-  # If this is the first incremental, use the full as base. Otherwise, use the latest incremental as base.
-  if [ ! $LATEST_INCR ] ; then
-    INCRBASEDIR=$FULLBACKUPDIR/$LATEST_FULL
-  else
-    INCRBASEDIR=$LATEST_INCR
-  fi
+    # If this is the first incremental, use the full as base. Otherwise, use the latest incremental as base.
+    if [ ! $LATEST_INCR ] ; then
+        INCRBASEDIR=$FULLBACKUPDIR/$LATEST_FULL
+    else
+        INCRBASEDIR=$LATEST_INCR
+    fi
 
-  echo "Running new incremental backup using $INCRBASEDIR as base."
-  innobackupex --defaults-file=$MYCNF $USEROPTIONS $compress $compression_threads --incremental $TMPINCRDIR --incremental-basedir $INCRBASEDIR > $TMPFILE 2>&1
+    echo "Running new incremental backup using $INCRBASEDIR as base."
+    innobackupex --defaults-file=$MYCNF $USEROPTIONS $compress $compression_threads --incremental $TMPINCRDIR --incremental-basedir $INCRBASEDIR 2>&1 | tee $TMPFILE
 fi
 {%- endif %}
 
-
-
 if [ -z "`tail -1 $TMPFILE | grep 'completed OK!'`" ] ; then
- echo "$INNOBACKUPEX failed:"; echo
- echo "---------- ERROR OUTPUT from $INNOBACKUPEX ----------"
- cat $TMPFILE
- #rm -f $TMPFILE
- exit 1
+    echo "$INNOBACKUPEX failed:"; echo
+    echo "---------- ERROR OUTPUT from $INNOBACKUPEX ----------"
+    cat $TMPFILE
+    #rm -f $TMPFILE
+    exit 1
 fi
 
 THISBACKUP=`awk -- "/Backup created in directory/ { split( \\\$0, p, \"'\" ) ; print p[2] }" $TMPFILE`
@@ -193,48 +192,47 @@
 # rsync just the new or modified backup files
 {%- if client.target is defined %}
 echo "Adding ssh-key of remote host to known_hosts"
-ssh-keygen -R {{ client.target.host }} 2>&1 | > $rsyncLog
-ssh-keyscan {{ client.target.host }} >> ~/.ssh/known_hosts  2>&1 | >> $rsyncLog
+ssh-keygen -R {{ client.target.host }} 2>&1 | tee $rsyncLog
+ssh-keyscan {{ client.target.host }} >> ~/.ssh/known_hosts  2>&1 | tee $rsyncLog
 echo "Rsyncing files to remote host"
-/usr/bin/rsync -rhtPv --rsync-path=rsync --progress $BACKUPDIR/* -e ssh xtrabackup@{{ client.target.host }}:$SERVERBACKUPDIR >> $rsyncLog
+/usr/bin/rsync -rhtPv --rsync-path=rsync --progress $BACKUPDIR/* -e ssh xtrabackup@{{ client.target.host }}:$SERVERBACKUPDIR 2>&1 | tee $rsyncLog
 
 # Check if the rsync succeeded or failed
 if ! grep -q "rsync error: " $rsyncLog; then
-        echo "Rsync to remote host completed OK"
+    echo "Rsync to remote host completed OK"
 else
-        echo "Rsync to remote host FAILED"
-        exit 1
+    echo "Rsync to remote host FAILED"
+    exit 1
 fi
 {%- endif %}
 
-
 # Cleanup
-if [ $SKIPCLEANUP=false ] ; then
-  {%- if client.backup_times is not defined %}
-  echo "----------------------------"
-  echo "Cleanup. Keeping only $KEEP full backups and its incrementals."
-  AGE=$(($FULLBACKUPLIFE * $KEEP / 60))
-  find $FULLBACKUPDIR -maxdepth 1 -type d -mmin +$AGE -execdir echo "removing: "$FULLBACKUPDIR/{} \; -execdir rm -rf $FULLBACKUPDIR/{} \; -execdir echo "removing: "$INCRBACKUPDIR/{} \; -execdir rm -rf $INCRBACKUPDIR/{} \;
+if [ $SKIPCLEANUP==false ] ; then
+    {%- if client.backup_times is not defined %}
+    echo "----------------------------"
+    echo "Cleanup. Keeping only $KEEP full backups and its incrementals."
+    AGE=$(($FULLBACKUPLIFE * $KEEP / 60))
+    find $FULLBACKUPDIR -maxdepth 1 -type d -mmin +$AGE -execdir echo "removing: "$FULLBACKUPDIR/{} \; -execdir rm -rf $FULLBACKUPDIR/{} \; -execdir echo "removing: "$INCRBACKUPDIR/{} \; -execdir rm -rf $INCRBACKUPDIR/{} \;
 
-  echo
-  echo "completed: `date`"
-  exit 0
-  {%- else %}
-  echo "----------------------------"
-  echo "Cleanup. Keeping only $KEEP full backups and its incrementals."
-  NUMBER_OF_FULL=$(( `find $FULLBACKUPDIR -maxdepth 1 -type d -print| wc -l` - 1))
-  FULL_TO_DELETE=$(( $NUMBER_OF_FULL - $KEEP ))
-  echo "Found $NUMBER_OF_FULL full backups and $KEEP should be kept. Thus $FULL_TO_DELETE will be deleted"
-  if [ $FULL_TO_DELETE -gt 0 ] ; then
-    cd $INCRBACKUPDIR
-    ls -t $FULLBACKUPDIR | tail -n -$FULL_TO_DELETE | xargs -d '\n' rm -rf
-    cd $FULLBACKUPDIR
-    ls -t | tail -n -$FULL_TO_DELETE | xargs -d '\n' rm -rf
-  else
-    echo "There are less full backups than required, not deleting anything."
-  fi
-  {%- endif %}
+    echo
+    echo "completed: `date`"
+    exit 0
+    {%- else %}
+    echo "----------------------------"
+    echo "Cleanup. Keeping only $KEEP full backups and its incrementals."
+    NUMBER_OF_FULL=$(( `find $FULLBACKUPDIR -maxdepth 1 -type d -print| wc -l` - 1))
+    FULL_TO_DELETE=$(( $NUMBER_OF_FULL - $KEEP ))
+    echo "Found $NUMBER_OF_FULL full backups and $KEEP should be kept. Thus $FULL_TO_DELETE will be deleted"
+    if [ $FULL_TO_DELETE -gt 0 ] ; then
+        cd $INCRBACKUPDIR
+        ls -t $FULLBACKUPDIR | tail -n -$FULL_TO_DELETE | xargs -d '\n' rm -rf
+        cd $FULLBACKUPDIR
+        ls -t | tail -n -$FULL_TO_DELETE | xargs -d '\n' rm -rf
+    else
+        echo "There are less full backups than required, not deleting anything."
+    fi
+    {%- endif %}
 else
-  echo "----------------------------"
-  echo "--skip-cleanup parameter passed. Cleanup was not triggered"
+    echo "----------------------------"
+    echo "--skip-cleanup parameter passed. Cleanup was not triggered"
 fi
