Initial commit

This commit is contained in:
Lutchy Horace 2021-01-21 16:58:32 -05:00
parent cb24cc9b9b
commit 2500470a1a
32 changed files with 2660 additions and 0 deletions

52
rsync.sh Executable file
View file

@ -0,0 +1,52 @@
#!/usr/bin/env bash
#
# Backup automation to off-site storage service
#
#
# Note: This script is not portable
# License: Anyone is free to use and modify it
#
function send_notification
{
echo "Sending notification."
echo $2 | mail -s "$1" ${EMAIL}
}
CONF=$1
TODAY=`date`
HOSTNAME=`hostname -f`
CURR_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
BOOTSTRAP=${CURR_DIR}/bootstrap.sh
if [ ! -e $CONF ] || [ -z "${CONF}" ];then
echo 'EXITING: Missing configuration file'
exit 1
fi
source $CONF
if [ ! -e $BOOTSTRAP ];then
echo 'EXITING: boostrap.sh must be in the same directory as this script'
exit 1
fi
source $BOOTSTRAP
echo "RYSNC CRON: Syncing local directory to remote server"
run_cmd "rsync ${RSYNC_OPTIONS} ${RSYNC_LOCAL_PATH} ${RSYNC_REMOTE_PATH}"
if [ ${__returnstatus} != 0 ]; then
echo "RYSNC CRON: Failed to sync files..."
echo "RYSNC CRON: Additional information stored in ${LOG}..."
send_notification "CRON: Failed to upload files to off-site storage on ${HOSTNAME}" "Failed to upload ${RSYNC_LOCAL_PATH} to off-site storage on ${TODAY}"
exit 1
fi
echo "Completed..."
send_notification "CRON: Uploaded files to off-site storage successfully on ${HOSTNAME}" "Completed uploading ${RSYNC_LOCAL_PATH} to off-site storage on ${TODAY}"
exit 0