我已经使用名为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中有以下文件: instal-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
答案 0 :(得分:2)
你必须编写一个init脚本。转到/etc/
文件夹并复制/etc/skeleton
。在那里,您可以插入您的行,然后您可以在不同的运行级别将该脚本初始化为服务。
https://github.com/gitblit/gitblit/blob/master/src/main/distrib/linux/service-ubuntu.sh
答案 1 :(得分:0)
我已经通过以下教程解决了gitblit的自动启动问题:
http://kchard.github.io/gitblit-quickstart/
在本教程中,您将创建一个名为gitblit的gitblit用户。我使用的是root用户,并且每个人都可以找到。