|
|
|
#!/bin/bash
|
|
|
|
# jumpserver Startup script for the jumpserver Server
|
|
|
|
#
|
|
|
|
# chkconfig: - 85 12
|
|
|
|
# description: Open source detecting system
|
|
|
|
# processname: jumpserver
|
|
|
|
# Date: 2016-02-27
|
|
|
|
# Version: 3.0.1
|
|
|
|
# Site: http://www.jumpserver.org
|
|
|
|
# Author: Jumpserver Team
|
|
|
|
|
|
|
|
jumpserver_dir=
|
|
|
|
|
|
|
|
base_dir=$(dirname $0)
|
|
|
|
jumpserver_dir=${jumpserver_dir:-$base_dir}
|
|
|
|
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
|
|
|
|
|
|
|
if [ -f ${jumpserver_dir}/install/functions ];then
|
|
|
|
. ${jumpserver_dir}/install/functions
|
|
|
|
elif [ -f /etc/init.d/functions ];then
|
|
|
|
. /etc/init.d/functions
|
|
|
|
else
|
|
|
|
echo "No functions script found in [./functions, ./install/functions, /etc/init.d/functions]"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
PROC_NAME="jumpserver"
|
|
|
|
lockfile=/var/lock/subsys/${PROC_NAME}
|
|
|
|
|
|
|
|
start() {
|
|
|
|
jump_start=$"Starting ${PROC_NAME} service:"
|
|
|
|
if [ -f $lockfile ];then
|
|
|
|
echo -n "jumpserver is running..."
|
|
|
|
success "$jump_start"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
daemon python $jumpserver_dir/manage.py crontab add &>> /var/log/jumpserver.log 2>&1
|
|
|
|
daemon python $jumpserver_dir/run_server.py &> /dev/null 2>&1 &
|
|
|
|
sleep 1
|
|
|
|
echo -n "$jump_start"
|
|
|
|
ps axu | grep 'run_server' | grep -v 'grep' &> /dev/null
|
|
|
|
if [ $? == '0' ];then
|
|
|
|
success "$jump_start"
|
|
|
|
if [ ! -e $lockfile ]; then
|
|
|
|
lockfile_dir=`dirname $lockfile`
|
|
|
|
mkdir -pv $lockfile_dir
|
|
|
|
fi
|
|
|
|
touch "$lockfile"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
failure "$jump_start"
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
stop() {
|
|
|
|
echo -n $"Stopping ${PROC_NAME} service:"
|
|
|
|
daemon python $jumpserver_dir/manage.py crontab remove &>> /var/log/jumpserver.log 2>&1
|
|
|
|
ps aux | grep -E 'run_server.py' | grep -v grep | awk '{print $2}' | xargs kill -9 &> /dev/null
|
|
|
|
ret=$?
|
|
|
|
if [ $ret -eq 0 ]; then
|
|
|
|
echo_success
|
|
|
|
echo
|
|
|
|
rm -f "$lockfile"
|
|
|
|
else
|
|
|
|
echo_failure
|
|
|
|
echo
|
|
|
|
rm -f "$lockfile"
|
|
|
|
fi
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
status(){
|
|
|
|
ps axu | grep 'run_server' | grep -v 'grep' &> /dev/null
|
|
|
|
if [ $? == '0' ];then
|
|
|
|
echo -n "jumpserver is running..."
|
|
|
|
success
|
|
|
|
touch "$lockfile"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo -n "jumpserver is not running."
|
|
|
|
failure
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
restart(){
|
|
|
|
stop
|
|
|
|
start
|
|
|
|
}
|
|
|
|
|
|
|
|
# See how we were called.
|
|
|
|
case "$1" in
|
|
|
|
start)
|
|
|
|
start
|
|
|
|
;;
|
|
|
|
stop)
|
|
|
|
stop
|
|
|
|
;;
|
|
|
|
|
|
|
|
restart)
|
|
|
|
restart
|
|
|
|
;;
|
|
|
|
|
|
|
|
status)
|
|
|
|
status
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo $"Usage: $0 {start|stop|restart|status}"
|
|
|
|
exit 2
|
|
|
|
esac
|