Ubuntu マシンにオープン ソース バージョンの virtuoso をインストールしました。私が直面している問題は、マシンを再起動するたびに名人を手動で再起動する必要があることです。私のマシンが virtuoso を自動的に起動できるようにする方法はありますか? のように、Tomcat を別のポートにインストールしました。マシンを再起動した後に Apache を再起動する必要はありません。この問題を修正するためにどこを変更すればよいか、誰にもわかりません。ありがとう
2 に答える
可能な方法で virtuos の開始と停止を処理する必要があります: (virtuoso を実行しているユーザーとして) virtuoso を実行しているユーザーのホームに bin フォルダーを作成し、次のスクリプトを追加します。
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 を変更してください
(root として "sudo su" を実行するか、すべてのコマンドの前に sudo を追加します) ここで、フォルダー /etc/init.d で start および stop パラメーターを受け入れるスクリプトを作成する必要があります。
cp skeleton virtuoso
chmod a+x virtuoso
不要な機能を削除し、次の方法で開始停止とステータス操作を実装できます。
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
スクリプトへのリンクを適切な /etc/rc.x フォルダーに追加する必要があります。手動で行うか、より良い方法は次のとおりです。
update-rc.d virtuoso defaults
それが役に立てば幸いです
ところで:名人がすでに実行されているかどうかのチェックをinitスクリプトの開始部分に追加できます
write a script like:
#!/bin/bash
sudo /usr/virtuoso-6.1.7/bin/virtuoso-t -fd +configfile /usr/virtuoso-6.1.7/bin/virtuoso.ini
(or any other configuration) save the script somewhere
enter the following into /etc/rc.local
openvt -s /path/to/your/script
after a restart this will automatically start your script in a new backround terminal (or what other term its called) usually after CTRL + ALT + F7 (your desktop) -> CTRL + ALT + F8
I hope I remembered this correctly and documented all steps (it's been a while).
Greetings