#!/bin/bash

set -e

. /etc/eole/samba4-vars.conf
. /etc/samba/samba_backup.conf
WHEN=`date ${WHEN_FORMAT}`

if [ -n "$1" ] && [ "$1" = "cron" ]; then
        bareos_mode=0
        REPORT="${WHERE%/}/samba_backup_${WHEN}.report"
else
        bareos_mode=1
        REPORT="${WHERE%/}/samba_backup.report"
fi

# create backup folder if necessary
if [ ! -e "${WHERE}" ]; then
	mkdir -p "${WHERE}"
fi

# get keytab to backup server without password
USER="$AD_ADMIN@"$(echo $AD_REALM | tr a-z A-Z)
KEYFILE="/tmp/backup.keytab"
samba-tool domain exportkeytab "$KEYFILE" --principal="$USER" 2> /dev/null
kinit "$USER" -k -t "$KEYFILE"

# do backup
/usr/share/eole/sbin/samba_backup "$REPORT" "$WHERE" "$SERVER" "$1" > /dev/null 2> /dev/null

# remove keytab
kdestroy
rm -f "$KEYFILE"

if [ "$bareos_mode" = "0" ]; then
    old_archives=$(find $WHERE -name "samba-backup*bz2" -mtime +$DAYS)
    [ -n "${old_archives}" ] && rm  ${old_archives}
    echo "Removed $(echo ${old_archives} | wc -w) archives older than $DAYS days." >> $REPORT
fi
exit 0

