86 lines
2.1 KiB
Bash
Executable file
86 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# this script runs a series of daily backup files, one after another
|
|
#
|
|
# These should be the only parameters requiring alteration
|
|
# the root filename for the appropriate configuration files
|
|
# in $EBU_CONF_DIR
|
|
CONF_ROOT="yearly"
|
|
# the email subject for report emails - to have date added
|
|
EMAIL_SUBJ="Avatar Yearly Backup Report"
|
|
# the email address (or addresses with comma separation) to send it to
|
|
EMAIL=dlane@egressive.com
|
|
#
|
|
# directories...
|
|
EBU_DIR=/etc/ebu
|
|
EBU_CMD=$EBU_DIR/ebu
|
|
EBU_CONF_DIR=$EBU_DIR/conf
|
|
LOGS=/var/log
|
|
LOG=$LOGS/ebu.log
|
|
# determine today's date
|
|
DATE=`date '+%Y-%m-%d-%a'`
|
|
# determine today's date
|
|
TIME=`date '+%H-%M-%S'`
|
|
# email program
|
|
MAIL=/bin/mail
|
|
# a timestamp for logging purposes
|
|
TIMESTAMP=`date '+%Y-%m-%d %H:%M.%S'`
|
|
# temporary holding point for email
|
|
TMP_EMAIL=/tmp/tmp_email_$DATE.$TIME
|
|
# build list of backup configuration files
|
|
CONFS=`ls -1 $EBU_CONF_DIR/$CONF_ROOT*.conf`
|
|
#
|
|
# function to direct a message...
|
|
message() {
|
|
echo "$0: $TIMESTAMP $@" >> $LOG
|
|
if test -f $TMP_EMAIL ; then
|
|
echo "$0: $TIMESTAMP $@" >> $TMP_EMAIL
|
|
fi
|
|
}
|
|
#
|
|
# create the temporary email file
|
|
create_tmp_email() {
|
|
touch $TMP_EMAIL
|
|
if test -f $TMP_EMAIL ; then
|
|
message "created temporary email $TMP_EMAIL"
|
|
else
|
|
message "failed to create temporary email $TMP_EMAIL"
|
|
fi
|
|
}
|
|
#
|
|
# send the contents of the temporary file to the
|
|
# designated report recipient
|
|
send_email_report() {
|
|
if test -f $TMP_EMAIL ; then
|
|
message "sending email report to $EMAIL"
|
|
$MAIL -s "$EMAIL_SUBJ" $EMAIL < $TMP_EMAIL
|
|
rm $TMP_EMAIL
|
|
if test -f $TMP_EMAIL ; then
|
|
message "failed to remove temporary email $TMP_EMAIL"
|
|
else
|
|
message "successfully removed temporary email $TMP_EMAIL"
|
|
fi
|
|
message "email report successfully sent"
|
|
fi
|
|
}
|
|
#
|
|
# insert a blank line into the log and on the console
|
|
insert_blank() {
|
|
echo "" >> $TMP_EMAIL
|
|
}
|
|
#
|
|
# The Functional Part of the Script
|
|
#
|
|
# build the email for the report
|
|
create_tmp_email
|
|
# run backup for each file
|
|
for CONF in $CONFS
|
|
do
|
|
$EBU_CMD -b -c $CONF -e $TMP_EMAIL
|
|
# put a space in the email to separate tasks
|
|
insert_blank
|
|
done
|
|
#
|
|
# send the resulting email
|
|
send_email_report
|
|
|