public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Constantin Herold <proxmox8914@herold.me>, pve-devel@lists.proxmox.com
Cc: Lukas Wagner <l.wagner@proxmox.com>
Subject: Re: [pve-devel] [PATCH pve-manager 0/1] feat: pass backup status to hook script on job-end/job-abort
Date: Wed, 24 Sep 2025 11:40:30 +0200	[thread overview]
Message-ID: <0c613244-24ea-4538-83b6-bc25e71a045d@proxmox.com> (raw)
In-Reply-To: <20250923174007.84121-1-proxmox8914@herold.me>

Am 23.09.25 um 19:40 schrieb Constantin Herold:
> I've been using the pve manager vzdump hook to do custom things after a backup is done e.g. backup some more files, call a webhook for monitoring, etc.
> 
> However there is currently a big drawback, the job state does not get passed, so there is no way to tell whether the backup was succesfull or not.
> 
> I recently had some drive issues which resulted in 1 vm backup failing, if i had not checked the mailnotification i would have never catched that.
> 
> 
> e.g. /etc/vzdump.conf with `script: /root/backuphook.sh`
> 
> cat << 'EOF' > /root/backuphook
> #!/bin/bash
> 
> cd /tmp
> DATE=$(date +"%d.%m.%Y")
> FILENAME="backup_$DATE.env"
> echo "" >> "$FILENAME"
> chmod 700 "$FILENAME"
> echo "Arguments: $@" >> "$FILENAME"
> printenv >> "$FILENAME"
> echo -e "\n\n" >> "$FILENAME"
> EOF
> 
> 
> all the backuphook gets passed is the following:
> ```
> Arguments: job-end  
> PWD=/tmp
> LVM_SUPPRESS_FD_WARNINGS=1
> SHLVL=1
> STOREID=backup
> LC_ALL=C
> OLDPWD=/
> _=/usr/bin/printenv
> ```
> 
> No way to tell whether the backup was succesfull, can't even grep the backup log for it etc.
> 
> I've been using this simple patch to pass the errcount to the `job-end` and `job-abort` stage
> 
> This way you can check now if it was succesfull or not, e.g:
> 
> cat << 'EOF' > /root/backuphook
> #!/bin/bash
> 
> if [[ "$*" != *job-end* ]]; then
>     exit 0
> fi
> 
> if [ "$ERRCOUNT" -gt 0 ]; then
>     # alert on broken backup (could be drive issues etc.)
>     # call webhook / trigger monitoring alert

FWIW, for this the notification system might be better suited, it already
has support for various targets, including web hooks. That doesn't mean
adding info to the hook is not needed, just wanted to mention that it exist
and that one option might be to provide support for trigger a dedicated
notification for each single backup "sub-job", which would avoid the need
for having a custom hook if it's just to get a dedicated notification / hook
ASAP for each failed backup of a guest (vs. the overall result of the backups
of all guests).


> else
>     # do some more things after succesfull backup
> fi
> EOF
> 
> 
> Would be great if this could be merged.
> 
> Best regards
> Constantin
> 
> 
> Constantin Herold (1):
>   feat: pass backup status to hook script on job-end/job-abort
> 
>  PVE/VZDump.pm | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2025-09-24  9:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20250923174007.84121-1-proxmox8914@herold.me>
2025-09-23 17:40 ` [pve-devel] [PATCH pve-manager 1/1] " Constantin Herold via pve-devel
2025-09-24  9:40 ` Thomas Lamprecht [this message]
2025-09-23 17:40 [pve-devel] [PATCH pve-manager 0/1] " Constantin Herold via pve-devel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0c613244-24ea-4538-83b6-bc25e71a045d@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=l.wagner@proxmox.com \
    --cc=proxmox8914@herold.me \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal