#!/bin/bash
#< Script to perform daily backup of JBoss logfiles. Checks using md5sum for successful transmission

CUT="/bin/cut"
MD5SUM="/usr/bin/md5sum"
SCP="/usr/bin/scp"
SSH="/usr/bin/ssh"

DEST="/var/prod/jboss"
SERVERS="server1 server2"

for SERVER in ${SERVERS}; do
   FILELIST=$( ${SSH} ${SERVER} 'find /var/log/jboss -mtime +7 -type f' | ${CUT} -d/ -f5 )
   for FILE in ${FILELIST}; do
      if [ ! -f "${DEST}/${SERVER}/${FILE}" ]; then
         echo "Getting ${FILE} from ${SERVER}"
         ${SCP} prodlogs@${SERVER}:/var/log/jboss/${FILE} ${DEST}/${SERVER}
         LOCAL_MD5SUM=$( ${MD5SUM} ${DEST}/${SERVER}/${FILE} | ${CUT} -d' ' -f1 )
         REMOTE_MD5SUM=$( ${SSH} ${SERVER} "md5sum /var/log/jboss/${FILE} | cut -d' ' -f1" )
         if [ "${LOCAL_MD5SUM}" = "${REMOTE_MD5SUM}" ]; then
            echo "md5sums match"
            ${SSH} ${SERVER} "rm /var/log/jboss/${FILE}"
         else
            echo "md5sums do not match!"
         fi
      fi
  done
done

exit 0