generate_bconsole_config() {
BCONSOLE_CONFIG=/etc/bacula/bconsole.conf
- if [ -s $BCONSOLE_CONFIG ] && grep -q 'sysbackup-dir' $BCONSOLE_CONFIG; then
+ if [ -s $BCONSOLE_CONFIG ] && grep -q 'Console {' $BCONSOLE_CONFIG; then
echo $BCONSOLE_CONFIG already exists, skipping.
else
umask 077
Name = sysbackup-dir
DIRport = 9101
address = sysbackup.carnet.hr
- Password = "$PASS_BCONSOLE"
+ Password = "__INVALID__" # not used
# you need these TLS entries so the bconsole and Director can communicate
TLS Enable = yes
TLS Certificate = "/etc/bacula/bacula-fd.pem"
TLS Key = "/etc/bacula/bacula-fd.pem"
}
+
+Console {
+ Name = $HOST-acl
+ Password = "$PASS_BCONSOLE"
+}
EOF
fi
}
return
fi
- umask 077
+ umask 022
chmod 0700 $GPG_HOME
echo Generating request in $REQUEST_FILE
+ rm -f $REQUEST_FILE
# Header
cat > $REQUEST_FILE <<EOF
TLS Require = yes
TLS CA Certificate File = "/etc/bacula/clients.d/$HOST-fd.pem"
TLS Certificate = "/etc/bacula/bacula.pem"
- TLS Key = "/etc/bacula/bacula.pem"
+ TLS Key = "/etc/bacula/bacula.key"
}
Job {
--$BOUNDARY--
EOF
- # Send it
- echo Mailing request from $REQUEST_FILE
- sendmail -t -oi < $REQUEST_FILE
+ # Try to send it
+ if [ -x "`which sendmail 2>/dev/null`" ]; then
+ echo Mailing request from $REQUEST_FILE
+ if sendmail -t -oi < $REQUEST_FILE; then
+ requestsent=1
+ fi
+ fi
+
+ if [ -z "$requestsent" ]; then
+ db_input high bacula-cn/mail-failed || true
+ db_go || true
+ fi
}
load_config() {
db_get bacula-cn/contact
CONTACT=$RET
- db_stop
-
PASS_FD=$( head -20 /dev/urandom | openssl dgst -sha1 )
PASS_BCONSOLE=$( head -20 /dev/urandom | openssl dgst -sha1 )
restart_bacula
send_mail
+
+ db_stop
;;
abort-upgrade|abort-remove|abort-deconfigure)