### macht Hardlinks auf unveränderte Daten zum
### vorhaerigen Backup
-SetDefaultVariables() {
+SetDefaultVariables()
+{
backpath="/images/backup"
backname="sicherung"
wunschanzahl=20
mode="incremental"
}
-ReadArguments() {
+ReadArguments()
+{
if [ -n "$1" ]; then
case "$1" in
"full")
fi
}
-CreateBackupFolder() {
+CreateBackupFolder()
+{
backDir="$(date +%Y-%m-%d)"_"$backname"
lastBackDir="$(date -d "1 Day ago" +%Y-%m-%d)"_"$backname"
fi
}
-CreateBackupFolderRemotePC() {
+CreateBackupFolderRemotePC()
+{
mkdir --parents $backpath/$backDir/$remoterechner
}
-GetHardLinkOpts() {
+GetHardLinkOpts()
+{
if [ "$mode" == "incremental" ]; then
hardlinkopt="--link-dest=$backpath/$lastBackDir/$remoterechner"
fi
}
-printfStripLine() {
+printfStripLine()
+{
printf "####################"
printf "####################"
printf "####################"
# Backup VMs
################################################################################
-BackupVMDiscs() {
+BackupVMDiscs()
+{
local readonly Disks=$(ssh $remoteLogin virsh domblklist $VM --details \
| grep disk \
| awk '{print $4}')
done
}
-WaitVMShutdown() {
+WaitVMShutdown()
+{
while [ "$(ssh $remoteLogin virsh list --name | grep $VM)" != "" ]; do
sleep 2;
done
}
-BackupOnlineVMs() {
+BackupOnlineVMs()
+{
onlineVM=$(ssh $remoteLogin virsh list --name)
for VM in $onlineVM; do
done
}
-BackupOfflineVMs() {
+BackupOfflineVMs()
+{
offlineVM=$(ssh $remoteLogin virsh list --all \
| grep 'shut off' \
| awk '{print $2}')
done
}
-BackupVMs() {
+BackupVMs()
+{
BackupOnlineVMs
BackupOfflineVMs
}
################################################################################
-BackupDirectoryPath() {
+BackupDirectoryPath()
+{
local readonly logFile="$backRemotePCPath/backup-$(echo $pfad \
| sed 's/\//-/g').log"
printfStripLine
}
-BackupPackages() {
+BackupPackages()
+{
local readonly packPath="$backRemotePCPath/packages"
printfStripLine
printfStripLine
}
-BackupPathes() {
+BackupPathes()
+{
for pfad in $(cat pfad-$remoterechner.txt); do
if [ "$pfad" == "virsh" ]; then
BackupVMs
done
}
-BackupRemotePC() {
+BackupRemotePC()
+{
remoteuser="root"
for remoterechner in $(cat rechner.txt); do
done
}
-CleanUpBackups() {
+CleanUpBackups()
+{
backupanzahl=$(ls --directory $backpath/*/ \
| grep "_$backname" \
| sort \
fi
}
-main() {
+main()
+{
SetDefaultVariables
ReadArguments
### auf verschiedenen Rechner und Syncronisiert das Backup
# Informationen fuer den Sicherungsserver
-SetDefaultVariables() {
+SetDefaultVariables()
+{
backpath="/images/backup"
backDir="einfach-sicherung"
}
-CreateBackupFolderRemotePC() {
+CreateBackupFolderRemotePC()
+{
mkdir --parents $backpath/$backDir/$remoterechner
}
-printfStripLine() {
+printfStripLine()
+{
printf "####################"
printf "####################"
printf "####################"
printf "####################\n"
}
-BackupPathes() {
+BackupPathes()
+{
local logFile=""
for pfad in $(cat pfad-$remoterechner.txt); do
done
}
-BackupRemotePC() {
+BackupRemotePC()
+{
remoteuser="root"
for remoterechner in $(cat rechner.txt); do
done
}
-main() {
+main()
+{
SetDefaultVariables
BackupRemotePC
}
#!/bin/bash
-SetDefaultVariables() {
+SetDefaultVariables()
+{
backpath="/images/backup"
backname="sicherung"
}
-ReadArguments() {
+ReadArguments()
+{
while getopts "d:r:p:" optname; do
case "$optname" in
"d")
fi
}
-printfStripLine() {
+printfStripLine()
+{
printf "####################"
printf "####################"
printf "####################"
printf "####################\n"
}
-RestoreData() {
+RestoreData()
+{
remoteLogin="root@$rechner"
backDir="$datum"_"$backname"
fullPathBackPath="$backpath/$backDir"
$remoteLogin:$pfad
}
-main() {
+main()
+{
SetDefaultVariables
ReadArguments $*
RestoreData
}
main $*
-
exit 0
#!/bin/bash
-SetDefaultVariables() {
+SetDefaultVariables()
+{
backpath="/images/backup"
backDir="einfach-sicherung"
}
-ReadArguments() {
+ReadArguments()
+{
while getopts "r:p:" optname; do
case "$optname" in
"r")
fi
}
-printfStripLine() {
+printfStripLine()
+{
printf "####################"
printf "####################"
printf "####################"
printf "####################\n"
}
-RestoreData() {
+RestoreData()
+{
remoteLogin="root@$rechner"
fullPathBackPath="$backpath/$backDir"
$remoteLogin:$pfad
}
-main() {
+main()
+{
SetDefaultVariables
ReadArguments $*
RestoreData