git - Ubuntu Server 14.04.1 LTS启动脚本java文件

标签 git ubuntu gitblit

我已经使用名为 gitblit 的 git 客户端配置了 Ubuntu Server 14.04.1 LTS:http://gitblit.com/

要启动 gitblit 客户端,我需要启动终端并键入下一个命令:java -jar gitblit.jar 每次启动 ubuntu 服务器时。

有没有办法用脚本或其他东西自动启动“java -jar gitblit.jar”这一行。我知道有 chkconfig 但 ubuntu 服务器 14 不支持它。

我尝试过几个代码,例如:https://askubuntu.com/questions/99232/how-to-make-a-jar-file-run-on-startup-and-when-you-log-out

@Magnus 返回: 当我在终端中运行此行:“bash -x/etc/init.d/gitblit start”时,它显示以下内容:

start-stop-daemon: user 'admin' not found
+ exit 0

脚本如下:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          gitblit
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Gitblit repository server
# Description:       Gitblit is a stand-alone service for managing, viewing and serving Git repositories.
### END INIT INFO

. /lib/init/vars.sh
. /lib/lsb/init-functions

PATH=/sbin:/bin:/usr/bin:/usr/sbin

# change theses values (default values)
GITBLIT_PATH=/var/www/gitblit
GITBLIT_BASE_FOLDER=/var/www/gitblit/data
GITBLIT_USER="admin"
source ${GITBLIT_PATH}/java-proxy-config.sh
ARGS="-server -Xmx1024M ${JAVA_PROXY_CONFIG} -Djava.awt.headless=true -jar gitblit.jar --baseFolder $GITBLIT_BASE_FOLDER --dailyLogFile"

RETVAL=0

case "$1" in
  start)
    if [ -f $GITBLIT_PATH/gitblit.jar ];
      then
      echo $"Starting gitblit server"
      start-stop-daemon --start --quiet --background --oknodo --make-pidfile --pidfile /var/run/gitblit.pid --exec /usr/bin/java --chuid $GITBLIT_USER --chdir $GITBLIT_PATH -- $ARGS
      exit $RETVAL
    fi
  ;;

  stop)
    if [ -f $GITBLIT_PATH/gitblit.jar ];
      then
      echo $"Stopping gitblit server"
      start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/gitblit.pid
      exit $RETVAL
    fi
  ;;

  force-reload|restart)
      $0 stop
      sleep 5
      $0 start
  ;;

  *)
    echo $"Usage: /etc/init.d/gitblit {start|stop|restart|force-reload}"
    exit 1
  ;;
esac

exit $RETVAL

所以我想添加一个新用户,但是如何添加或添加哪个用户。我还喜欢另一个启动 Gitblit 的脚本

但是当你下载 gitblit 时,zip 中有如下文件: install-service.sh 包含以下行

cp gitblit /etc/init.d/
chmod +x /etc/init.d/gitblit
sudo update-rc.d gitblit defaults

我还找到了另一个脚本,也许你可以帮助我使这个脚本正常工作

set -e

    GITBLIT_PATH=/opt/gitblit
    GITBLIT_HTTP_PORT=0
    GITBLIT_HTTPS_PORT=8443
    JAVA="java -server -Xmx1024M -jar"

    . /lib/lsb/init-functions

    case "$1" in
      start)
            log_action_begin_msg "Starting gitblit server"
            cd $GITBLIT_PATH
            $JAVA $GITBLIT_PATH/gitblit.jar --httpsPort $GITBLIT_HTTPS_PORT --httpPort $GITBLIT_HTTP_PORT > /dev/null &
            log_action_end_msg $?
            ;;
      stop)
            log_action_begin_msg "Stopping gitblit server"
            cd $GITBLIT_PATH
            $JAVA $GITBLIT_PATH/gitblit.jar --stop > /dev/null &
            log_action_end_msg $?
            ;;
      force-reload|restart)
            $0 stop
            $0 start
            ;;
      *)
            echo "Usage: /etc/init.d/gitblit {start|stop|restart|force-reload}"
            exit 1
            ;;
    esac

    exit 0

最佳答案

您必须编写一个初始化脚本。转到您的 /etc/ 文件夹并复制 /etc/sculpture。您可以在其中插入您的行,然后可以将该脚本作为不同运行级别的服务进行初始化。

https://github.com/gitblit/gitblit/blob/master/src/main/distrib/linux/service-ubuntu.sh

关于git - Ubuntu Server 14.04.1 LTS启动脚本java文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398797/

相关文章:

Eclipse 中的编译时错误 : "undefined reference to ` sctp_recvmsg'"

Gitblit推送错误 "error: RPC failed; result=52, HTTP code = 0"

从新克隆的存储库到分支的 Git checkout 导致该分支中的未暂存更改

git - 从dockerfile进行git clone时我怎么知道我在哪个git分支上

linux - 使用 ubuntu 和 postgresql 启动 pgpool 后 pid 文件消失

git - 如何在上次提交之前取消提交

ruby-on-rails - Nginx,Passenger,Ruby on Rails 4.1.6 Ubuntu 14 - 403 禁止错误

git - 在 gitblit 服务器上发布接收 pull 钩

git - Hg-git 不推送 Github 上的提交

Git 日志显示提交中有多个分支?