#!/usr/local/bin/bash
# $@ SHOULD HOLD THREE ARGS:
# $1 = THE MASTER'S HOSTNAME OR IP
# $2 = A USERNAME
# $3 = THE PROGRAM DIRECTORY
# $4 = MODE
ME=''
ME=`whoami`
if [ $ME != "root" ] ; then
echo "You must be root to run this script"
exit
fi
source ./functions.inc
HOME=/home/${2}
cd $HOME
PROGDIR=${3};
MDSDIGEST=MAILDIRSYNC.gz
DRDIGEST=DRSYNC.bz2
MAILDIRSYNC_OPTS="-r -a md5 --backup=${PROGDIR}/trashbags/${2} --rsh-sep=, --rsh=ssh,-C"
TOKEN='';
while [ "${TOKEN}" = '' ] ; do
rolllog ${2}
echo "Beginning to log..."
echo ">>>>-----> ${2} - `date "+%H:%M:%S on %m-%d-%Y"` <-----<<<<"
maildirsync.pl $MAILDIRSYNC_OPTS $1:${HOME}/Maildir ${HOME}/Maildir ${PROGDIR}/lib/${2}.${MDSDIGEST}
fixperms ${1} ${2}
maildirsync.pl $MAILDIRSYNC_OPTS ${HOME}/Maildir $1:${HOME}/Maildir ${PROGDIR}/lib/${2}.${MDSDIGEST}
fixperms ${1} ${2}
drsync.pl --verbose=2 --rsh=ssh --recursive --state-file=${PROGDIR}/lib/${2}.master.${DRDIGEST} ${HOME}/Maildir $1:${HOME}
fixperms ${1} ${2}
drsync.pl --verbose=2 --rsh=ssh --exclude=BACKUP --recursive --state-file=${PROGDIR}/lib/${2}.slave.${DRDIGEST} $1:${HOME}/Maildir ${HOME}
fixperms ${1} ${2}
drsync.pl --delete-excluded --verbose=2 --backup --rsh=ssh --exclude=BACKUP --recursive --state-file=${PROGDIR}/lib/${2}.slave.${DRDIGEST} $1:${HOME}/Maildir ${HOME}
fixperms ${1} ${2}
TOKEN=DONE
echo "Ending log entry..."
echo ">>>>-------------------------------------------------------------------------<<<<"
done 2>&1 | tee -a ${PROGDIR}/log/${2}-maildirsync-`date +%Y%m`.log
syntax highlighted by Code2HTML, v. 0.9.1