top of page
Search

Kolab server mail backup script

  • Writer: Puneeth K P
    Puneeth K P
  • Mar 30, 2022
  • 2 min read


#!/bin/sh

set -o pipefail

now="$(date +'%d_%m_%Y_%H_%M_%S')"

filename="var_lib_imap".tar.gz

filename1="etc".tar.gz

backupfolder="/home/manage/BACKUP/MAIL_BACKUP"

sharefolder="/mnt/BACKUP/MAIL_BACKUP"

mkdir "$sharefolder/$now"

sharefolder="/mnt/BACKUP/MAIL_BACKUP/$now"

logfile="$backupfolder/"backup_mail_log_"$(date +'%Y_%m')".txt

errorlogfile="$backupfolder/"error_log_"$(date +'%d_%m_%Y')".txt


echo "Mail Backup started at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"


################## MYSQL BACKUP #######################

echo "mysqldump started at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"

for DB in roundcube kolab piler ; do

echo "Backup started for $DB database" >> "$logfile"

mysqldump -u root -phjt#y45WnH --single-transaction --quick --lock-tables=false "$DB" 2>"$errorlogfile" | bzip2 -c > "$sharefolder/$DB.sql.bz2" || { echo "Exit Code(mysql/bzip): $?">>"$errorlogfile"; echo "Mail Backup Failed while Taking a mysqldump for $DB database" | mail -s "Backup Failed" admin@puneeth.com && exit 1; }

echo "Backup done for $DB database" >> "$logfile"

done

echo "mysqldump finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"

#######################################################


################## LDAP BACKUP ########################

echo "Running script for ldap backup" >> "$logfile"

bash /home/manage/ldap-bak.sh --before 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Backup Failed while Taking a ldap backup" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

echo "Copying the ldap ldif files to Shared Folder" >> "$logfile"

cp /tmp/*.ldif "$sharefolder/" 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Archive Backup Failed while Copying ldif files to the Share" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

echo "Removing the extra ldif files" >> "$logfile"

bash /home/manage/ldap-bak.sh --after 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Archive Backup Failed while Deleting the extra ldif files" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

echo "LDAP Backup finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"

#######################################################


############## /var/lib/imap BACKUP ###################

echo "Creating a compressed backup file for /var/lib/imap" >> "$logfile"

tar -czvf "$sharefolder/$filename" /var/lib/imap/ 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Backup Failed while Creating a tar file for /var/lib/imap folder" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

#echo "Copying the compressed tar file to Shared Folder" >> "$logfile"

#cp "$backupfolder/$filename" "$sharefolder/" 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Backup Failed while Copying to the Share" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

#echo "Deleting the extra copy of the backup file" >> "$logfile"

#rm -f "$backupfolder/$filename" 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Backup Failed while Deleting the extra copy" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

echo "Compressed tar archive for /var/lib/imap done successfully" >> "$logfile"

#######################################################


################## /etc BACKUP ########################

echo "Creating a compressed backup file for /etc" >> "$logfile"

tar -czvf "$sharefolder/$filename1" /etc/ 2>"$errorlogfile" || { echo "Exit Code: $?">>"$errorlogfile"; echo "Mail Backup Failed while Creating a tar file for /etc folder" | mail -s "Backup Failed" radmin@puneeth.com && exit 1; }

echo "Compressed tar archive for /etc done successfully" >> "$logfile"

#######################################################


echo "Mail Backup finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"

echo "Mail Backup Successful" | mail -s "Mail Backup completed successfully" radmin@puneeth.com

echo "-----------------------" >> "$logfile"

 
 
 

Comments


Puneeth K P

  • Facebook Black Round
  • Twitter Black Round
bottom of page