Hi Jon,

First of all, sorry for my late answer.
This is working like a charm, thank you a lot!!
Regards,
Birgit

Jon Schewe schrieb am Dienstag, 9. November 2021 um 17:21:31 UTC+1:

> The handling of canceled jobs in bareos has caused me some issues, 
> particularly because a canceled job is not considered success, so if you 
> have rerun failed levels enabled you can end up running the same level over 
> and over. My solution here deals with that by deleting the canceled jobs, 
> which is what you want.
>
>
> /etc/bareos/bareos-dir.d/jobdefs/LTO-Backup.conf
> JobDefs { 
>   Name = "LTO-Backup"
>   Type = Backup
>   Level = Incremental
>   Schedule = "WeeklyCycle"
>   Messages = Standard
>   Pool = LTO-5
>   Priority = 30
>   Rerun Failed Levels = yes
>   Accurate = yes
>   Spool Data = yes
>
>   # retry failed backups
>   Reschedule On Error = yes
>   Reschedule Interval = 1 minute 
>   Reschedule Times = 10
>   
>   #Write Bootstrap = "|/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \" -s 
> \"Bootstrap for Job %j\" root@localhost" # (#01)
>   Write Bootstrap = /var/lib/bareos/bootstrap/%c.bsr
>
>   AllowDuplicateJobs = no
>   CancelLowerLevelDuplicates = yes
>   CancelQueuedDuplicates = yes
>
>   # handle long running jobs and canceling duplicates
>   RunScript {
>     RunsWhen = After
>     RunsOnFailure = Yes
>     FailJobOnError = No
>     RunsOnClient = No
>     Command = "/etc/bareos/delete-canceled-job.sh %e %i"
>   }
>
> }
>
>
>
> /etc/bareos/delete-canceled-job.sh
> #!/bin/sh 
>
> debug() { ! "${log_debug-false}" || log "DEBUG: $*" >&2; }
> log() { printf '%s\n' "$*"; }
> warn() { log "WARNING: $*" >&2; }
> error() { log "ERROR: $*" >&2; }
> fatal() { error "$*"; exit 1; }
> try() { "$@" || fatal "'$@' failed"; }
>
> mydir=$(cd "$(dirname "$0")" && pwd -L) || fatal "Unable to determine 
> script directory"
>
> # call as delete-canceled-job.sh %e %i
> status=$1
> jobid=$2
>
> if [ "Canceled" = "${status}" ]; then
>     log "Deleting canceled job ${jobid}"
>     #echo "Run 'delete jobid=${jobid}' inside bareos console" | mail -s 
> "delete canceled" jon.s...@raytheon.com
>     #echo "delete jobid=${jobid} | bconsole"
>
>     # schedule with at so that the job can complete and then later be 
> deleted
>     echo "/etc/bareos/delete-canceled-job_doit.sh ${jobid}" | at now + 2 
> minutes 
> fi
>
>
>
> /etc/bareos/delete-canceled-job_doit.sh
> #!/bin/sh 
>
> debug() { ! "${log_debug-false}" || log "DEBUG: $*" >&2; }
> log() { printf '%s\n' "$*"; }
> warn() { log "WARNING: $*" >&2; }
> error() { log "ERROR: $*" >&2; }
> fatal() { error "$*"; exit 1; }
> try() { "$@" || fatal "'$@' failed"; }
>
> mydir=$(cd "$(dirname "$0")" && pwd -L) || fatal "Unable to determine 
> script directory"
>
> # called from at, scheduled by delete-canaceled-job.sh
> jobid=$1
>
> debug "Deleting canceled job ${jobid}"
> #echo "Run 'delete jobid=${jobid}' inside bareos console" | mail -s 
> "delete canceled" jon.s...@raytheon.com
>
> output=$(echo "delete jobid=${jobid}" | bconsole 2>&1)
> if [ $? -ne 0 ]; then
>     error ${output}
>     fatal "Error deleting job ${jobid}"
> fi
>
> # output anything that we don't expect
> echo "${output}" \
>         | grep -v "Automatically selected Catalog" \
>         | grep -v "Using Catalog" \
>         | grep -v "You have messages" \
>         | grep -v "deleted from the catalog" \
>         | grep -v "delete jobid=${jobid}" \
>         | grep -v "Enter a period" \
>         | grep -v "You are connected using" \
>         | grep -v "Get official binaries and vendor support" \
>         | grep -v "bareos.org binaries are UNSUPPORTED by bareos.com" \
>         | grep -v "bareos.org build binary" \
>         | grep -v "1000 OK" \
>         | grep -v "Encryption:" \
>         | grep -v "Connecting to Director" \
>         | grep -v -e '^[[:space:]]*$'
>
> # debugging
> #echo "delete jobid=${jobid}" \
> #        | bconsole 2>&1 
> #log "status $?"
>
> exit 0
>
> *Jon Schewe*
>
> Principal Software Systems Technologist
>
>
> C: +1 612.263.2718 <(612)%20263-2718>
>
> O: +1 952.545.5720 <(952)%20545-5720>
>
> *jon.s...@raytheon.com*
>
>
> *Raytheon Technologies*
>
> Raytheon Intelligence & Space
>
> 5775 Wayzata Blvd. Suite 630
>
> St. Louis Park, MN 55416 
>
>
> *RTX.com <https://www.rtx.com/>* | *LinkedIn 
> <https://www.linkedin.com/company/raytheontechnologies>* | *Twitter 
> <https://twitter.com/raytheontech>* | *Instagram 
> <https://www.instagram.com/raytheontechnologies>* 
>
> ------------------------------
> *From:* 'Birgit Ducarroz' via bareos-users <bareos...@googlegroups.com>
> *Sent:* Tuesday, November 9, 2021 03:06
> *To:* bareos-users <bareos...@googlegroups.com>
> *Subject:* [External] [bareos-users] Do Not Try to Run Duplicated Jobs 
>  
>
> Hi list,
>
> Is there a possibility to not run and then cancel duplicated jobs?
> In my actual config...
>
> Allow Duplicate Jobs = no
> Cancel Lower Level Duplicates = yes
> Cancel Queued Duplicates = yes
>
> ... duplicate jobs cancel which creates me a lot of canceled jobs in the 
> dashboard while running a set of full backups which are running more than 
> one day. But I even don't want to list all these canceled jobs.
>
> Thank you for any hint!
> Kind regards,
> Birgit 
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "bareos-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to bareos-users...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/bareos-users/46d2bc51-b789-47bc-a328-4b2386e98fd3n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/bareos-users/46d2bc51-b789-47bc-a328-4b2386e98fd3n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"bareos-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to bareos-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bareos-users/ff08a74f-2c56-4a56-8c3d-e82ab6cb4bean%40googlegroups.com.

Reply via email to