From: Bastian Dehn Date: Sun, 8 Sep 2019 14:05:43 +0000 (+0200) Subject: add: doxygen comments backup X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=03d9810b2cf0341d565e1af2308dac1a562b9705;p=simple-backup.git add: doxygen comments backup --- diff --git a/backup b/backup index a6d616b..739fb2e 100755 --- a/backup +++ b/backup @@ -1,6 +1,8 @@ #!/bin/bash # vim: tabstop=8 colorcolumn=80 +## @fn usage() +## @brief Anzeige von der Hilfe usage() { echo "backup [full | check | help]" @@ -11,6 +13,8 @@ usage() echo } +## @fn SetDefaultVariables() +## @brief Festlegung der default Variablen SetDefaultVariables() { backpath="/images/backup" @@ -23,6 +27,8 @@ SetDefaultVariables() fi } +## @fn ReadArguments() +## @brief Einlesung der Konsolenargumente ReadArguments() { mode="incremental" @@ -46,6 +52,9 @@ ReadArguments() fi } +## @fn SizeHumanReadable() +## @brief Berechnung lesbare Groesseneinheiten +## @param Dateiegroesse SizeHumanReadable() { local size=$1 @@ -60,6 +69,8 @@ SizeHumanReadable() printf "%s %s\n" "$size" "${einheit[$count]}" } +## @fn CreateBackupFolder() +## @brief Erstellung des Backupordners CreateBackupFolder() { local dayAnzahl=1 @@ -77,11 +88,17 @@ CreateBackupFolder() 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 @@ -89,6 +106,8 @@ GetHardLinkOpts() fi } +## @fn printStripLine() +## @brief Ausgabe eines Trennstreifens auf der Konsole printfStripLine() { printf "####################" @@ -101,6 +120,8 @@ printfStripLine() # Backup VMs ################################################################################ +## @fn BackupTypOfVMDisc() +## @brief Erstellt ein VM Backup mit dem Typ file oder block BackupTypOfVMDisc() { if [ "$DiskType" == "file" ]; then @@ -129,6 +150,8 @@ BackupTypOfVMDisc() fi } +## @fn BackupVMDiscs() +## @brief Ermittlung von Virtuellen Festplatten BackupVMDiscs() { local readonly Disks=$(ssh -p $remoteport $remoteLogin \ @@ -150,6 +173,8 @@ BackupVMDiscs() done } +## @fn WaitVMShutdown() +## @brief wartet bis die VM heruntergefahren ist WaitVMShutdown() { while [ "$(ssh $remoteLogin virsh list --name | grep $VM)" != "" ]; do @@ -157,6 +182,10 @@ WaitVMShutdown() 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) @@ -176,6 +205,8 @@ BackupOnlineVMs() done } +## @fn BackupOfflineVMs() +## @brief Erstellung eines Backups von Offline VMs BackupOfflineVMs() { offlineVM=$(ssh -p $remoteport $remoteLogin virsh list --all \ @@ -191,6 +222,8 @@ BackupOfflineVMs() done } +## @fn BackupVMs() +## @brief Erstellung Backups von den VMs BackupVMs() { BackupOnlineVMs @@ -199,6 +232,8 @@ BackupVMs() ################################################################################ +## @fn BackupDirectoryPath() +## @brief Erstellung eines Backups von einem Verzeichniss BackupDirectoryPath() { local readonly logFile="$backRemotePCPath/backup-$(echo $pfad \ @@ -215,6 +250,8 @@ BackupDirectoryPath() printfStripLine } +## @fn BackupPackages() +## @brief Erstellung eines Backups von der Paketliste von apt BackupPackages() { local readonly packPath="$backRemotePCPath/packages" @@ -232,6 +269,10 @@ BackupPackages() 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 @@ -249,6 +290,10 @@ BackupPathes() 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 @@ -273,6 +318,8 @@ BackupRemotePC() done } +## @fn LoescheVerzeichnis() +## @brief Loeschung von aeltestem Backup LoescheVerzeichnisse() { for i in $(ls --directory $backpath/*/ | grep "_$backname" \ @@ -282,6 +329,8 @@ LoescheVerzeichnisse() done } +## @fn CleanUpBackups() +## @brief Zeigt an wieviele Backups vorhanden sind CleanUpBackups() { backupanzahl=$(ls --directory $backpath/*/ | grep "_$backname" | sort \ @@ -305,6 +354,8 @@ CleanUpBackups() fi } +## @fn MakeHistory() +## @brief Eintragung in die History-Datei MakeHistory() { local datum="$(date +%F)" @@ -330,6 +381,8 @@ MakeHistory() } +## @fn CheckBackupDate() +## @brief Zeigt die letzte Sicherung in gruen oder rot an. CheckBackupDate() { local color=$LIGHTGREEN @@ -353,6 +406,8 @@ CheckBackupDate() printfStripLine } +## @fn IsBackupOld() +## @brief Ermittlung ob ein Backup zu alt ist IsBackupOld() { local readonly backup="$1" @@ -383,6 +438,8 @@ IsBackupOld() esac } +## @fn main() +## @brief Hauptablauf des Skriptes main() { YELLOW="\e[0;33m"