Gitea Start/Stop Script
Hier ist ein einfaches, allgemeines Start/Stop Script für Gitea:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
#!/bin/sh ##### CONFIG ##### NAME=gitea WORKINGDIR=/home/gitea/gitea LOGDIR=$WORKINGDIR/log PIDFILE=$WORKINGDIR/gitea.pid LOGFILE=$LOGDIR/access.log CONFIGFILE=$WORKINGDIR/custom/conf/app.ini GITEAFILE=$WORKINGDIR/gitea.bin PORT=3000 USER=gitea ARGS="web --pid $PIDFILE --port $PORT" ################### do_start() { # sudo -u $USER sh -c "$GITEAFILE $ARGS >>$LOGFILE 2>>$LOGFILE & disown %1" sudo -u $USER sh -c "$GITEAFILE $ARGS & disown %1" } do_stop() { if [ -f $PIDFILE ]; then kill $(cat "$PIDFILE") rm $PIDFILE else killall $GITEAFILE fi } do_status() { if [ -f $PIDFILE ]; then if kill -0 $(cat "$PIDFILE"); then echo "$NAME is running, PID is $(cat $PIDFILE)" else echo "$NAME process is dead, but pidfile exists" fi else echo "$NAME is not running" fi } case "$1" in start) echo "Starting $NAME" do_start ;; stop) echo "Stopping $NAME" do_stop ;; status) do_status ;; restart) echo "Restarting $NAME" do_stop do_start ;; *) echo "Usage: $0 {start|stop|status|restart}" >&2 exit 2 ;; esac |
Und ein Start/Stop Script für Ubuntu 16.04 (systemd):
nach /etc/init.d/gitea kopieren, Pfad anpassen und sudo update-rc.d gitea defaults
ausführen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
#!/bin/sh ### BEGIN INIT INFO # Provides: gitea # Required-Start: $syslog $network # Required-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: A self-hosted Git service written in Go. # Description: A self-hosted Git service written in Go. ### END INIT INFO # Author: Imhotheb # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin DESC="Gitea - Git with a cup of tea" NAME=gitea SERVICEVERBOSE=yes SCRIPTNAME=/etc/init.d/$NAME PIDFILE=/var/run/$NAME.pid USER=git HOME=/home/$USER ##### CHANGE THIS!! ##### WORKINGDIR=/path_to_gitea PORT=3000 CONFIGFILE=$WORKINGDIR/custom/conf/app.ini DAEMON=$WORKINGDIR/gitea DAEMON_ARGS="web -p $PORT -c $CONFIGFILE" USERBIND="setcap cap_net_bind_service=+ep" # If you want to bind Gitea to a port below 1024 uncomment # the line below # $USERBIND_CMD="$USERBIND $DAEMON" STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/1/KILL/5}" # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 do_start() { $USERBIND_CMD sh -c "USER=$USER HOME=$HOME GITEA_WORK_DIR=$WORKINGDIR start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\ --background --chdir $WORKINGDIR --chuid $USER \\ --exec $DAEMON -- $DAEMON_ARGS" } do_stop() { start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PIDFILE --name $NAME --oknodo rm -f $PIDFILE } do_status() { if [ -f $PIDFILE ]; then if kill -0 $(cat "$PIDFILE"); then echo "$NAME is running, PID is $(cat $PIDFILE)" else echo "$NAME process is dead, but pidfile exists" fi else echo "$NAME is not running" fi } case "$1" in start) echo "Starting $DESC" "$NAME" do_start ;; stop) echo "Stopping $DESC" "$NAME" do_stop ;; status) do_status ;; restart) echo "Restarting $DESC" "$NAME" do_stop do_start ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2 exit 2 ;; esac exit 0 |