you can (have to ?) update the local copy of the root zone using the command:
sudo /usr/sbin/unbound-control auth_zone_transfer "."
I do this on a weekly basis, using cron, also updating the root.hints
You can also increase / decrease the verbose setting using the command:
sudo /usr/sbin/unbound-control verbosity x
x being any number between 0 and ? (I've gone as high as 5)
edit
using the above command eliminates the need to restart unbound, you'll see an entry in the log, if successful.
/edit
In order for this to work, you need to have the following in your unbound.conf file:
# Remote control config section.
remote-control:
control-enable: yes
Script I run with cron (way to complex, I know):
#!/usr/bin/env bash
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# compiled version of unbound v1.9.2
if [ -f /etc/unbound/root.hints ]
then
# unbound
sudo wget https://www.internic.net/domain/named.root -O /etc/unbound/root.hints
fi
if [ -f /etc/unbound/root.zone ]
then
# zone transfert
echo 'zone transfert "."'
sudo /usr/sbin/unbound-control auth_zone_transfer "."
fi
# Raspbian version of unbound v1.6.0
if [ -f /var/lib/unbound/root.hints ]
then
# unbound
sudo wget https://www.internic.net/domain/named.root -O /var/lib/unbound/root.hints
fi