pull/109/head
midoks 4 years ago
parent 5b2786d37e
commit 12b04ed0af
  1. 35
      plugins/swap/index.py
  2. 92
      plugins/swap/init.d/swap.tpl

@ -65,22 +65,47 @@ def status():
return 'start' return 'start'
def getInitDTpl():
path = getPluginDir() + "/init.d/" + getPluginName() + ".tpl"
return path
def initDreplace(): def initDreplace():
return '/swapfile'
file_tpl = getInitDTpl()
service_path = os.path.dirname(os.getcwd())
initD_path = getServerDir() + '/init.d'
if not os.path.exists(initD_path):
os.mkdir(initD_path)
file_bin = initD_path + '/' + getPluginName()
# initd replace
content = mw.readFile(file_tpl)
content = content.replace('{$SERVER_PATH}', '/swapfile')
mw.writeFile(file_bin, content)
mw.execShell('chmod +x ' + file_bin)
# config replace
conf_content = mw.readFile(getConf())
conf_content = conf_content.replace('{$SERVER_PATH}', service_path)
mw.writeFile(getServerDir() + '/redis.conf', conf_content)
return file_bin
def start(): def start():
file = initDreplace() file = initDreplace()
data = mw.execShell('swapon ' + file) data = mw.execShell(file + ' start')
if data[1] == '': if data[0] == '':
return 'ok' return 'ok'
return 'fail' return 'fail'
def stop(): def stop():
file = initDreplace() file = initDreplace()
data = mw.execShell('swapoff ' + file) data = mw.execShell(file + ' stop')
if data[1] == '': if data[0] == '':
return 'ok' return 'ok'
return 'fail' return 'fail'

@ -1,73 +1,57 @@
#!/bin/sh #!/bin/bash
# chkconfig: 2345 55 25 # chkconfig: 2345 55 25
# description: Redis Service # description: MW Cloud Service
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: Redis # Provides: bt
# Required-Start: $all # Required-Start: $all
# Required-Stop: $all # Required-Stop: $all
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: starts Redis # Short-Description: starts mw
# Description: starts the MDW-Web # Description: starts the mw
### END INIT INFO ### END INIT INFO
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
CONF="{$SERVER_PATH}/redis/redis.conf" PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
REDISPORT=$(cat $CONF |grep port|grep -v '#'|awk '{print $2}')
REDISPASS=$(cat $CONF |grep requirepass|grep -v '#'|awk '{print $2}')
if [ "$REDISPASS" != "" ];then
REDISPASS=" -a $REDISPASS"
fi
EXEC={$SERVER_PATH}/redis/bin/redis-server
CLIEXEC="{$SERVER_PATH}/redis/bin/redis-cli -p $REDISPORT$REDISPASS"
PIDFILE={$SERVER_PATH}/redis/redis_6379.pid
mkdir -p {$SERVER_PATH}/redis/data app_file={$SERVER_PATH}
app_start(){ app_start(){
if [ -f $PIDFILE ];then isStart=`free -m|grep Swap|awk '{print $2}'`
kill -9 `cat $PIDFILE` if [ "$isStart" == '0' ];then
fi echo -e "Starting swap... \c"
swapon $app_file
echo "Starting Redis server..." echo -e "\033[32mdone\033[0m"
nohup $EXEC $CONF >> {$SERVER_PATH}/redis/logs.pl 2>&1 & else
echo "Starting swap already running"
fi
} }
app_stop(){
if [ ! -f $PIDFILE ] app_stop()
then {
echo "$PIDFILE does not exist, process is not running"
else echo -e "Stopping swap... \c";
PID=$(cat $PIDFILE) swapoff $app_file
echo "Stopping ..." echo -e "\033[32mdone\033[0m"
$CLIEXEC shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
rm -rf $PIDFILE
fi
} }
app_status()
{
isStart=`free -m|grep Swap|awk '{print $2}'`
if [ "$isStart" == '0' ];then
echo -e "\033[32mswap already running\033[0m"
else
echo -e "\033[31mswap not running\033[0m"
fi
}
case "$1" in case "$1" in
start) 'start') app_start;;
app_start 'stop') app_stop;;
;; 'reload')
stop) 'restart')
app_stop app_stop
;; app_start;;
restart|reload) 'status') app_status;;
app_stop esac
sleep 0.3
app_start
;;
*)
echo "Please use start or stop as first argument"
;;
esac
Loading…
Cancel
Save