#!/bin/bash
# vim: tabstop=8 colorcolumn=80
+## @fn usage()
+## @brief Anzeige von der Hilfe
usage()
{
echo "backup [full | check | help]"
echo
}
+## @fn SetDefaultVariables()
+## @brief Festlegung der default Variablen
SetDefaultVariables()
{
backpath="/images/backup"
fi
}
+## @fn ReadArguments()
+## @brief Einlesung der Konsolenargumente
ReadArguments()
{
mode="incremental"
fi
}
+## @fn SizeHumanReadable()
+## @brief Berechnung lesbare Groesseneinheiten
+## @param Dateiegroesse
SizeHumanReadable()
{
local size=$1
printf "%s %s\n" "$size" "${einheit[$count]}"
}
+## @fn CreateBackupFolder()
+## @brief Erstellung des Backupordners
CreateBackupFolder()
{
local dayAnzahl=1
lastBackDir=${tmpordner##*/}
}
+## @fn CreateBackupFolderRemotePC()
+## @brief Erstellung des Backupordners fuer den zu sichernden Rechner
CreateBackupFolderRemotePC()
{
mkdir --parents $backpath/$backDir/$remoterechner
}
+## @fn GetHardLinkOpts()
+## @brief rsync Option ob Hardlinks verwendet werden
+## @details Hardlink Option ist default an. Nur bei dem Konsolenargument
+## full wird die Hardlink Option ignoriert
GetHardLinkOpts()
{
if [ "$mode" == "incremental" ]; then
fi
}
+## @fn printStripLine()
+## @brief Ausgabe eines Trennstreifens auf der Konsole
printfStripLine()
{
printf "####################"
# Backup VMs
################################################################################
+## @fn BackupTypOfVMDisc()
+## @brief Erstellt ein VM Backup mit dem Typ file oder block
BackupTypOfVMDisc()
{
if [ "$DiskType" == "file" ]; then
fi
}
+## @fn BackupVMDiscs()
+## @brief Ermittlung von Virtuellen Festplatten
BackupVMDiscs()
{
local readonly Disks=$(ssh -p $remoteport $remoteLogin \
done
}
+## @fn WaitVMShutdown()
+## @brief wartet bis die VM heruntergefahren ist
WaitVMShutdown()
{
while [ "$(ssh $remoteLogin virsh list --name | grep $VM)" != "" ]; do
done
}
+## @fn BackupOnlineVMs()
+## @brief Erstellung eines Offline Backups von einer Online VM
+## @details VMs die Online sind werden heruntergefahren und dann gesichert.
+## Danach werden die VMs wieder gestartet.
BackupOnlineVMs()
{
onlineVM=$(ssh -p $remoteport $remoteLogin virsh list --name)
done
}
+## @fn BackupOfflineVMs()
+## @brief Erstellung eines Backups von Offline VMs
BackupOfflineVMs()
{
offlineVM=$(ssh -p $remoteport $remoteLogin virsh list --all \
done
}
+## @fn BackupVMs()
+## @brief Erstellung Backups von den VMs
BackupVMs()
{
BackupOnlineVMs
################################################################################
+## @fn BackupDirectoryPath()
+## @brief Erstellung eines Backups von einem Verzeichniss
BackupDirectoryPath()
{
local readonly logFile="$backRemotePCPath/backup-$(echo $pfad \
printfStripLine
}
+## @fn BackupPackages()
+## @brief Erstellung eines Backups von der Paketliste von apt
BackupPackages()
{
local readonly packPath="$backRemotePCPath/packages"
printfStripLine
}
+## @fn BackupPathes
+## @brief Durchfuehrung des Backups
+## @details Durch eine Textdatei mit den jeweils aufgelisteten Verzeichnispfaden
+## oder Schluesselworter (virsh, packages) wird das Backkup durchgefuehrt
BackupPathes()
{
if [ ! -f "pfad-$remoterechner" ]; then
done
}
+## @fn BackupRemotePC()
+## @brief Erstellung des Backupverzeichnisses fuer den Remote-PC
+## @details Anhand einer rechner Datei wird fuer den jeweiligen Rechner ein
+## Backup durchgefuehrt
BackupRemotePC()
{
if [ ! -f "rechner" ]; then
done
}
+## @fn LoescheVerzeichnis()
+## @brief Loeschung von aeltestem Backup
LoescheVerzeichnisse()
{
for i in $(ls --directory $backpath/*/ | grep "_$backname" \
done
}
+## @fn CleanUpBackups()
+## @brief Zeigt an wieviele Backups vorhanden sind
CleanUpBackups()
{
backupanzahl=$(ls --directory $backpath/*/ | grep "_$backname" | sort \
fi
}
+## @fn MakeHistory()
+## @brief Eintragung in die History-Datei
MakeHistory()
{
local datum="$(date +%F)"
}
+## @fn CheckBackupDate()
+## @brief Zeigt die letzte Sicherung in gruen oder rot an.
CheckBackupDate()
{
local color=$LIGHTGREEN
printfStripLine
}
+## @fn IsBackupOld()
+## @brief Ermittlung ob ein Backup zu alt ist
IsBackupOld()
{
local readonly backup="$1"
esac
}
+## @fn main()
+## @brief Hauptablauf des Skriptes
main()
{
YELLOW="\e[0;33m"