init
This commit is contained in:
82
scripts/seafile-server.sh
Executable file
82
scripts/seafile-server.sh
Executable file
@@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
|
||||
LATEST=$SEAF/seafile-server-latest
|
||||
PIDS=$SEAF/pids
|
||||
|
||||
function stop() {
|
||||
$0 stop
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
run)
|
||||
if [ ! -e "$LATEST" ]; then
|
||||
(>&2 echo This appears to be the fist run, installing..)
|
||||
$0 run-upgrade
|
||||
else
|
||||
$0 manage-component seaf-server start $LATEST/seafile.sh start
|
||||
$0 manage-component seahub start $LATEST/seahub.sh "${SEAF_HUB_MODE:-start} 8000" &
|
||||
$0 manage-component nginx start nginx &
|
||||
wait
|
||||
fi
|
||||
trap stop SIGINT SIGTERM
|
||||
while pgrep -f "seafile-controller" 2>&1 >/dev/null; do
|
||||
sleep 2;
|
||||
done
|
||||
;;
|
||||
run-upgrade)
|
||||
$0 upgrade && $0 run
|
||||
;;
|
||||
stop)
|
||||
$0 manage-component seaf-server stop &
|
||||
$0 manage-component seahub stop &
|
||||
$0 manage-component nginx stop &
|
||||
$0 manage-component ccnet stop &
|
||||
wait
|
||||
;;
|
||||
stop-upgrade)
|
||||
$0 stop && $0 upgrade
|
||||
;;
|
||||
upgrade)
|
||||
/usr/local/sbin/upgrade main
|
||||
kill -SIGHUP $(pgrep -o nginx) #Reload nginx
|
||||
;;
|
||||
manage-component)
|
||||
mkdir -p /var/run/seafile
|
||||
NAME="$2"
|
||||
PIDFILE=/var/run/seafile/$NAME.pid
|
||||
case "$3" in
|
||||
start)
|
||||
CMD="$4"; ARGS="$5"
|
||||
"$CMD $ARGS &"
|
||||
sleep 1
|
||||
( ! "$0 $1 $NAME status") && ((>&2 echo Failed to start $NAME); exit 1)
|
||||
PID=$?
|
||||
#echo $PID > /var/run/seafile/$NAME.pid
|
||||
;;
|
||||
status)
|
||||
([ -e "$PIDFILE" ] && kill -0 $(cat $PIDFILE) 2> /dev/null && echo Running) || (echo Stopped && exit 1)
|
||||
;;
|
||||
stop)
|
||||
if "$0 $1 $NAME status"; then
|
||||
kill $(cat $PIDFILE)
|
||||
TRIES=30
|
||||
while "$0 $1 $NAME status"; do
|
||||
TRIES=$((TRIES - 1))
|
||||
if [ $TRIES -eq 0 ]; then
|
||||
(>&2 echo Failed to stop $NAME)
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
(>&2 echo $NAME has been stopped)
|
||||
else
|
||||
(>&2 echo $NAME is not running)
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
(>&2 echo Unknown option $1 options include: run, run-upgrade, upgrade, stop, stop-upgrade)
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user