Hook Script nach dem täglichen Backup?

fpausp

Renowned Member
Aug 31, 2010
609
39
93
Austria near Vienna
Möchte gerne meinen Backupserver nach dem täglichen Backup aller vm's runter fahren und rechtzeitig wieder via etherwake aufwecken... Ich vermute mal das könnte via hook script gelöst werden?

Ich mache täglich um 00:00 ein Backup aller vm's. Wenn dieser job erledigt ist soll ein shutdown-script ausgeführt werden und den Backupserver runter fahren. Um 23:45 möchte ich den Backupserver dann wieder mittels etherwake aufwecken.

Die händischen Backups sollen davon unberührt bleiben... Hat jemand tipps für mich?
 
Als veranschaulichendes Beispiel zum Link, den @sb-jw bereits gepostet hat, hier ein einfaches Skript, welches ich nach Abschluss eines Backups laufen lasse, um die sie etwas nach eigenem Gusto zu verwalten (umzubenennen, aufräumen ...)
Was Du dann wo, wie, mit oder nach den Backups anstellst, bleibt dann ganz Deiner Phantasie überlassen :)

/etc/vzdump.conf:
script: /PFAD/ZUM/SKRIPT

Skript:
Code:
#!/bin/bash

cd "${DUMPDIR}"
MAXFILES=$(grep "maxfiles:" /etc/vzdump.conf | tr -d " " | awk -F":" '{print $2}')

case "${1}" in

   backup-end)
       VM_FNAM_OLD=$(basename ${TARFILE})
       VM_FNAM_NEW=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
       VM_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
       VM_TYPE=$(basename ${TARFILE} | awk -F "-" '{print $2}')
       mv "${VM_FNAM_OLD}" "${VM_FNAM_NEW}"

       case "${VM_TYPE}" in
           lxc)
               NUMFILES=$(ls -1 ${VM_FNAM_DUP}*.tar* | wc -l)
               if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then
                   echo "-- maxfiles set to ${MAXFILES} but ${NUMFILES} present. Deleting the older ones."
                   ls ${VM_FNAM_DUP}*.tar* | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm
               fi
           ;;
           qemu)
               NUMFILES=$(ls -1 ${VM_FNAM_DUP}*.vma* | wc -l)
               if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then
                   echo "-- maxfiles set to ${MAXFILES} but ${NUMFILES} present. Deleting the older ones."
                   ls ${VM_FNAM_DUP}*.vma* | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm
               fi
           ;;
       esac
       ;;

   log-end)
       LOG_FNAM_OLD=$(basename ${LOGFILE})
       LOG_FNAM_NEW=$(basename ${LOGFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
       LOG_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
       mv "${LOG_FNAM_OLD}" "${LOG_FNAM_NEW}"
       NUMFILES=$(ls -1 ${LOG_FNAM_DUP}*.log | wc -l)
       if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then ls ${LOG_FNAM_DUP}*.log | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm; fi
       ;;

esac
 
welches ich nach Abschluss eines Backups laufen lasse,
Danke für Eure Antworten...

Wenn ich das Script in der /etc/vzdump.conf eintrage, wird es sofort beim Beginn des Backups ausgeführt und fährt den Backupserver runter...

Was muss ich machen damit das erst nach dem Backup aller Maschinen passiert?
 
Habe gerade nochmal über mein Skript geschaut...Entweder ist es "neu" oder ich hatte es noch nie auf dem Radar, dass das Skript mehrfach aufgerufen wird. Kann auch alterstechnisch bedingt auf der Gedankenliste "mach' ich morgen" gelandet sein. Ich müsste also mal mein Backup-Rename-Skript berarbeiten.
Tatsache jedoch ist, dass Du Dein Skript natürlich ebenfalls entsprechend aufbohren müsstest. Das Skript wird im Laufe des Backups fünf mal aufgerufen. Übergabe der Parameter sind je Aufruf:
- job-start
- backup-start stop <VMID>
- backup-end stop <VMID>
- log-end stop <VMID>
- job-end
Da siehst Du schon, wo der Hase dem Fuchs die gute Nacht pudert. Also einfach noch ein bisschen an den Bash case's geschraubt, dann wird es funktionieren.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!