#!/bin/bash
#< Backup configuration files from multiple servers using scp

BZIP2="/bin/bzip2"
DATE="/usr/bin/date"
ECHO="/usr/bin/echo"
SCP="/usr/bin/scp"

USER="root"
SERVERS="server1 server2"

SRC_DIR="/etc"
SRC_FILES=( "${SRC_DIR}/foo.conf" "${SRC_DIR}/bar.conf" \
            "${SRC_DIR}/baz.conf" "${SRC_DIR}/baz_local.conf" )

TIMESTAMP=$( ${DATE} +"%Y%m%d-%H%M" )

for SERVER in ${SERVERS}; do
   ${ECHO} "Backing up configuration from [${SERVER}]"
   DEST_DIR="/home/user/config/${SERVER}"
   for SRC_FILE in ${SRC_FILES[@]}; do
      DEST_FILE="${DEST_DIR}/${SRC_FILE##*/}-${TIMESTAMP}"
      ${SCP} ${USER}@${SERVER}:${SRC_FILE} ${DEST_FILE} 
      ${BZIP2} -9 ${DEST_FILE}
   done
done

exit 0