diff --git a/class/core/system_api.py b/class/core/system_api.py index d44b7836a..157021c74 100755 --- a/class/core/system_api.py +++ b/class/core/system_api.py @@ -6,9 +6,10 @@ import os import re import math +from flask import Flask, session +import db import public -from flask import Flask, session class system_api: @@ -482,8 +483,36 @@ class system_api: if stype == '0': public.execShell("rm -f " + filename) - - return public.returnMsg(True, "设置成功!") + elif stype == '1': + _day = int(day) + if _day < 1: + return public.returnJson(False, "设置失败!") + public.writeFile(filename, day) + elif stype == 'del': + if not public.isRestart(): + return public.returnJson(False, '请等待所有安装任务完成再执行') + os.remove("data/system.db") + + sql = db.Sql().dbfile('system') + csql = public.readFile('data/sql/system.sql') + csql_list = csql.split(';') + for index in range(len(csql_list)): + sql.execute(csql_list[index], ()) + return public.returnJson(True, "监控服务已关闭") + else: + data = {} + if os.path.exists(filename): + try: + data['day'] = int(public.readFile(filename)) + except: + data['day'] = 30 + data['status'] = True + else: + data['day'] = 30 + data['status'] = False + return public.getJson(data) + + return public.returnJson(True, "设置成功!") # 重启面板 def reWeb(self, get): diff --git a/class/core/btkill.py b/plugins/abkill/abkill.py similarity index 94% rename from class/core/btkill.py rename to plugins/abkill/abkill.py index 14eee5a65..709417124 100755 --- a/class/core/btkill.py +++ b/plugins/abkill/abkill.py @@ -4,9 +4,11 @@ # 1、将此文件重命名为btkill.py , 然后上传到服务器/root目录 # 2、执行 python /root/btkill.py -import psutil import time import os +import sys +sys.path.append("/usr/local/lib/python2.7/site-packages") +import psutil class btkill: @@ -15,6 +17,7 @@ class btkill: def checkMain(self): pids = psutil.pids() + print pids num = 0 for pid in pids: try: @@ -27,6 +30,7 @@ class btkill: cputimes = p.cpu_times() if cputimes.user < 0.1: continue + print p percent = p.cpu_percent(interval=0.1) vm = p.memory_info().vms if percent > self.__limit or vm > self.__vmsize: @@ -68,6 +72,7 @@ class btkill: num = 0 while True: num += self.checkMain() + print "查杀完成, 共查杀[" + str(num) + "]个异常进程!" time.sleep(3) print '=======================================' print "查杀完成, 共查杀[" + str(num) + "]个异常进程!" diff --git a/route/system.py b/route/system.py index b7402113f..9bc1e522c 100644 --- a/route/system.py +++ b/route/system.py @@ -43,8 +43,9 @@ def diskInfo(): @system.route('/set_control', methods=['POST']) def setControl(): stype = request.form.get('type', '') - data = {'status': True, 'day': 30} - return public.getJson(data) + day = request.form.get('day', '') + data = system_api.system_api().setControl(stype, day) + return data @system.route('/get_load_average', methods=['GET']) diff --git a/static/js/control.js b/static/js/control.js index 2928bf7b0..9857cfcd6 100755 --- a/static/js/control.js +++ b/static/js/control.js @@ -156,18 +156,18 @@ function setControl(act){ $.post('/system/set_control','type='+type+'&day='+day,function(rdata){ layer.close(loadT); layer.msg(rdata.msg,{icon:rdata.status?1:2}); - }); + },'json'); } //清理记录 -function CloseControl(){ +function closeControl(){ layer.confirm(lan.control.close_log_msg,{title:lan.control.close_log,icon:3,closeBtn:2}, function() { loadT = layer.msg(lan.public.the,{icon:16,time:0}) - $.post('/config?action=SetControl','type=del',function(rdata){ + $.post('/system/set_control','type=del',function(rdata){ layer.close(loadT); - $.get('/system?action=ReWeb',function(){}); + // $.get('/system?action=ReWeb',function(){}); layer.msg(rdata.msg,{icon:rdata.status?1:2}); - }); + },'json'); }); } diff --git a/task.py b/task.py index 6bc55a94a..555d898db 100755 --- a/task.py +++ b/task.py @@ -201,9 +201,9 @@ def systemTask(): import time sm = system_api.system_api() filename = 'data/control.conf' + sql = db.Sql().dbfile('system') csql = public.readFile('data/sql/system.sql') - csql_list = csql.split(';') for index in range(len(csql_list)): sql.execute(csql_list[index], ()) @@ -327,7 +327,6 @@ def systemTask(): diskInfo = None count = 0 reloadNum += 1 - print "end---|" if reloadNum > 1440: reloadNum = 0 # if os.path.exists('data/ssl.pl'): @@ -345,25 +344,6 @@ def systemTask(): time.sleep(30) systemTask() - -def check502Task(): - # 502错误检查线程 - try: - while True: - if os.path.exists('/www/server/panel/data/502Task.pl'): - check502() - time.sleep(600) - except: - time.sleep(600) - check502Task() - - -def btkill(): - # 自动结束异常进程 - import btkill - b = btkill.btkill() - b.start() - if __name__ == "__main__": import threading @@ -371,12 +351,4 @@ if __name__ == "__main__": t.setDaemon(True) t.start() - # p = threading.Thread(target=check502Task) - # p.setDaemon(True) - # p.start() - - p = threading.Thread(target=btkill) - p.setDaemon(True) - p.start() - startTask() diff --git a/templates/default/control.html b/templates/default/control.html index 062e7bc99..260b9c487 100755 --- a/templates/default/control.html +++ b/templates/default/control.html @@ -27,7 +27,7 @@