Я установил версию виртуоза с открытым исходным кодом на своей машине Ubuntu. Проблема, с которой я сталкиваюсь, заключается в том, что я должен перезапустить виртуоз вручную каждый раз, когда я перезапускаю свою машину. Есть ли способ, который позволяет моей машине автоматически запускать виртуоз? Например, у меня есть tomcat, установленный в другом порту, мне не нужно перезапускать Apache после перезагрузки моей машины. Кто-нибудь знает, где я могу внести изменения, чтобы исправить эту проблему. БлагодаряПроблема с перезапуском вручную с виртуозом
ответ
написать сценарий, как:
#/бен/Баш
Судо /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
Надеюсь, я правильно это помнил и задокументировал все шаги (это было какое-то время).
Привет
необходимо обрабатывать начать, а также остановкой 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
надеюсь, что это помогает и удачи
Кстати: вы можете добавить проверку, если виртуоз уже работает в начальной части сценария инициализации
Для чего стоит [недавний вопрос] (http://sourceforge.net/mailarchive/message.php?msg_id=318444630) в списке рассылки пользователей Virtuoso о создании сценария '/ etc/init.d' начать виртуоз при запуске машины.Я не думаю, что у него есть ответ, но вы можете следовать этой теме. (Возможно, вы также захотите попробовать просить в этом списке.) –