2014-01-14 4 views
1

Я установил версию виртуоза с открытым исходным кодом на своей машине Ubuntu. Проблема, с которой я сталкиваюсь, заключается в том, что я должен перезапустить виртуоз вручную каждый раз, когда я перезапускаю свою машину. Есть ли способ, который позволяет моей машине автоматически запускать виртуоз? Например, у меня есть tomcat, установленный в другом порту, мне не нужно перезапускать Apache после перезагрузки моей машины. Кто-нибудь знает, где я могу внести изменения, чтобы исправить эту проблему. БлагодаряПроблема с перезапуском вручную с виртуозом

+0

Для чего стоит [недавний вопрос] (http://sourceforge.net/mailarchive/message.php?msg_id=318444630) в списке рассылки пользователей Virtuoso о создании сценария '/ etc/init.d' начать виртуоз при запуске машины.Я не думаю, что у него есть ответ, но вы можете следовать этой теме. (Возможно, вы также захотите попробовать просить в этом списке.) –

ответ

1

написать сценарий, как:

#/бен/Баш

Судо /usr/virtuoso-6.1.7/bin/virtuoso-t -fd + CONFIGFILE /usr/virtuoso-6.1. 7/бен/virtuoso.ini

(или любой другой конфигурации) сохраните скрипт где

ввести следующую команду в /etc/rc.local

openvt -s/path/to/your/script

после перезапуска это автоматически запустит ваш скрипт в новом заднем терминале (или каком-либо другом его названии) обычно после CTRL + ALT + F7 (на вашем рабочем столе) -> CTRL + ALT + F8

Надеюсь, я правильно это помнил и задокументировал все шаги (это было какое-то время).

Привет

1

необходимо обрабатывать начать, а также остановкой Virtuos возможный путь: (как пользователь работает виртуоз) создать бен папку в доме пользователя, который работает виртуоз и добавить следующие сценарии

virtuosoStart.sh

DBDIR=/vol0/virtuosodb 
VIRTUOSO_BIN=/opt/virtuoso7/bin/ 
export PATH=$VIRTUOSO_BIN:$PATH 
cd $DBDIR 
virtuoso-t 

virtuosoStop.sh

#!/bin/bash 
VIRTUOSO_BIN=/opt/virtuoso7/bin/ 
${VIRTUOSO_BIN}isql-v 1111 dba dba -K 

измените DBDIR и VIRTUOSO_BIN согласно вам среде

(как корень, «Суда су» или добавить Sudo перед каждой командой) Теперь нужно сделать скрипт, принять старт и стоп параметр в папке/и т.д./init.d.

cp skeleton virtuoso 
chmod a+x virtuoso 

вы можете eunnecessary функции не удалит и осуществить начальную остановку и работу статус следующим образом:

DESC="virtuoso server" 
NAME=virtuoso 
DAEMON=/opt/virtuoso7/bin/virtuoso-t 
# Exit if the package is not installed 
[ -x "$DAEMON" ] || exit 0 
DBDIR=/vol0/virtuosodb 
PIDFILE=${DBDIR}/virtuoso.lck 
SCRIPTNAME=/etc/init.d/$NAME 
USER=ubuntu 
START_SCRIPT=/home/${USER}/bin/virtuosoStart.sh 
STOP_SCRIPT=/home/${USER}/bin/virtuosoStop.sh 

case "$1" in 
start) 
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" 
    su -l $USER -c $START_SCRIPT 
    case "$?" in 
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 
    esac 
    ;; 
stop) 
    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" 
    su -l $USER -c $STOP_SCRIPT 
    case "$?" in 
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 
    esac 
    ;; 
status) 
    if [ -f $PIDFILE ] && ps -p$(cut -d "=" -f 2 ${PIDFILE}) > /dev/null;then 
      log_success_msg "$NAME is running" 
      exit 0 
    else 
      log_failure_msg "$name is not running" 
      exit 1 
    fi 
    ;; 
*) 
    echo "Usage: $SCRIPTNAME {start|stop|status}" >&2 
    exit 3 
    ;; 
esac 

теперь necessay, чтобы добавить ссылки на сценарии в соответствующие папки /etc/rc.x. Вы можете сделать это вручную или лучший способ является:

update-rc.d virtuoso defaults 

надеюсь, что это помогает и удачи

Кстати: вы можете добавить проверку, если виртуоз уже работает в начальной части сценария инициализации