[RESOLVIDO]
Eu escrevo meu próprio script de serviço. Agora db derby funciona como esperado.
Definindo o Apache DB Derby no Ubuntu 12.04 como serviço.
Copie o arquivo derby
no diretório /etc/init.d/
#!/bin/bash
#
# Startup script for Derby
#
# description: Derby startup script
# to enable on bootup on debian "update-rc.d derby defaults" or the
# to disable on bootup on debian "update-rc.d derby remove"
DBDIR=/var/db/derby
APPCOMMAND=/opt/db-derby-10.9.1.0-bin/bin/NetworkServerControl
start() {
echo -n "Derby Starting: "
cd $DBDIR
sudo -u derby mv derby.2.log derby.3.log
sudo -u derby mv derby.1.log derby.2.log
sudo -u derby mv derby.log derby.1.log
sudo -u derby $APPCOMMAND start -h 0.0.0.0 &
sudo -u derby sleep 3
sudo -u derby chmod 644 derby.log
}
stop() {
echo -n $"Derby Shutting down: "
$APPCOMMAND shutdown &
}
status() {
echo "Derby has status: "
$APPCOMMAND ping
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $?
Em seguida, instale o script como serviço pelo comando update-rc.d derby defaults
.
Desinstalar script por comando update-rc.d derby remove
.
Defina o diretório /var/db/derby
para o proprietário derby
.
sidlo64@ubuntu:/var/db$ ls -al
drwxr-xr-x 3 root root 4096 srp 24 16:48 .
drwxr-xr-x 16 root root 4096 srp 26 06:45 ..
drwxr-xr-x 3 derby derby 4096 srp 24 22:28 derby
Para parar manualmente o uso do banco de dados service derby stop
.
Para iniciar manualmente o uso do banco de dados sudo service derby start
.