#!/bin/bash
#
###### KONFIGURATION #########
#
# Backup Verzeichnis (wird automatisch erstellt falls nicht vorhanden!)
bkppfad=/tmp/bkp
#######################################
# Megatools Config Verzeichnis
megatoolspfad=~/.megarc
########################################
#
# Mega Verzeichnis
megapfad=/Root/MEGAORDNER
########################################
#
# Archiv Zip Passwort (hier setzt ihr euer Passwort für das gepackte Backup!)
zippass=MEINPASSWORT
########################################
#
# Infomails Empfaenger (an diese Adresse geht die Infomail raus!)
email=meineemailadresse@provider.de
#########################################
#
##### KONFIGURATION ENDE #######
# Backup Dateien in Variablen einlesen
BOOT="/boot/cmdline.txt"
CRON="/etc/crontab"
IPCAS="/etc/rc.local"
USB="/etc/udev/rules.d/*usb*"
SSMTP="/etc/ssmtp/*"
IPCCFG="/var/emu/conf/ipc.cfg"
BKPSCRIPT="/var/emu/script/raspberry-backup.sh"
OSCAM="/var/etc/oscam.*"
SKIN="/var/etc/*.css"
MEGA="/root/.megarc"
# Datum und Uhrzeit in Variablen schreiben
date=`date +%Y%m%d`
time=`date +%Hh%Mm%Ss`
# Backup packen
mkdir -p $bkppfad
cd $bkppfad
tar cvzfP Backup_$date-$time.tar.gz $BOOT $CRON $IPCAS $USB $SSMTP $IPCCFG $BKPSCRIPT $OSCAM $SKIN $MEGA >> MailOutput.txt
zip -P $zippass Backup_$date-$time.tar.gz.zip Backup_$date-$time.tar.gz >> MailOutput.txt
rm Backup_$date-$time.tar.gz
# Backup auf Mega.nz hochladen
megaput --no-progress --config $megatoolspfad --path $megapfad $bkppfad/Backup_*
# Backup Upload Ueberpruefung
filesmega=(`megals -ln --config $megatoolspfad $megapfad |awk '{print $7";"$4}'`)
filesserver=(`ls -ln $bkppfad |awk '{if (NR == 1){}else {print $0}}' |awk '{print $9";"$5}'`)
serverfiles=${#filesserver
[*]}
megafiles=${#filesmega
[*]}
i=0
while [ $i -lt $serverfiles ]; do
k=0
while [ $k -lt $megafiles ]; do
servername=`echo ${filesserver[$i]} |awk -F ";" '{print $1}'`
meganame=`echo ${filesmega[$k]} |awk -F ";" '{print $1}'`
if [ "$servername" = "$meganame" ]; then
serversize=`echo ${filesserver[$i]} |awk -F ";" '{print $2}'`
megasize=`echo ${filesmega[$k]} |awk -F ";" '{print $2}'`
if [ $serversize -eq $megasize ]; then
echo "Dateigroesse fuer file $servername ist identisch!" >> mailtext.txt
echo "Server: $serversize Bytes" >> mailtext.txt
echo -e "Mega: $megasize Bytes\n" >> mailtext.txt
echo -e "OK: Archiv $servername wurde vom Server entfernt !!!\n\nAusfuehrung:" >> mailtext.txt
rm $bkppfad/$servername
else
echo "Dateigroesse fuer file $servername unterschiedlich gross! " >> mailtext.txt
echo "Server: $serversize Bytes" >> mailtext.txt
echo -e "Mega: $megasize Bytes\n" >> mailtext.txt
echo -e "Fehler: Archiv $servername wurde vom Server nicht entfernt. Bitte pruefen !!!\n\nAusfuehrung:" >> mailtext.txt
fi
fi
let k++
done
let i++
done
cat MailOutput.txt >> mailtext.txt
mail -s "Backup Upload Report" $email < mailtext.txt
rm mailtext.txt
rm MailOutput.txt
exit 0