A solução que encontrei é fornecer o JobLevel ao script como um argumento com %l
Client Run Before Job = "/path/to/before/script.sh %l"
Client Run After Job = "/path/to/after/script.sh %l"
e organizando scripts como este:
#!/bin/bash BACULA_J_LEVEL=$1 case $BACULA_J_LEVEL in Full) echo "Job Level $BACULA_J_LEVEL"; #do stuff here exit 0 ;; Differential) echo "Job Level $BACULA_J_LEVEL"; # do nothing exit 0 ;; Incremental) echo "Job Level $BACULA_J_LEVEL"; # do nothing exit 0 ;; *) echo "Level not recognized"; exit 1; ;; esac