pull/205/head
midoks 3 years ago
parent d18f16a2b8
commit ec11904959
  1. 3
      plugins/swap/index.html
  2. 34
      plugins/swap/index.py
  3. 38
      plugins/swap/js/swap.js

@ -3,7 +3,7 @@
<div class="bt-w-menu">
<p class="bgw" onclick="pluginService('swap');">服务</p>
<p onclick="pluginInitD('swap');">自启动</p>
<p onclick="pluginConfig('swap');">配置修改</p>
<p onclick="swapStatus();">配置调整</p>
<p onclick="readme();">说明</p>
</div>
<div class="bt-w-con pd15">
@ -11,6 +11,7 @@
</div>
</div>
</div>
<script type="text/javascript">
$.getScript( "/plugins/file?name=swap&f=js/swap.js", function(){
pluginService('swap');

@ -53,6 +53,13 @@ def getArgs():
return tmp
def checkArgs(data, ck=[]):
for i in range(len(ck)):
if not ck[i] in data:
return (False, mw.returnJson(False, '参数:(' + ck[i] + ')没有!'))
return (True, mw.returnJson(True, 'ok'))
def status():
data = mw.execShell("free -m|grep Swap|awk '{print $2}'")
if data[0].strip() == '0':
@ -158,6 +165,29 @@ def initdUinstall():
mw.execShell('systemctl disable swap')
return 'ok'
def swapStatus():
sfile = getServerDir() + '/swapfile'
size = os.path.getsize(sfile)
data = {'size': size}
return mw.returnJson(True, "ok", data)
def changeSwap():
args = getArgs()
data = checkArgs(args, ['size'])
if not data[0]:
return data[1]
size = args['size']
swapOp('stop')
os.system('dd if=/dev/zero of=' + getServerDir() +
'/swapfile bs=1M count=' + size)
os.system('chmod 600 ' + getServerDir() + '/swapfile')
swapOp('start')
return mw.returnJson(True, "修改成功!")
if __name__ == "__main__":
func = sys.argv[1]
if func == 'status':
@ -178,5 +208,9 @@ if __name__ == "__main__":
print(initdUinstall())
elif func == 'conf':
print(getConf())
elif func == "swap_status":
print(swapStatus())
elif func == "change_swap":
print(changeSwap())
else:
print('error')

@ -29,6 +29,44 @@ function swapPost(method, version, args,callback){
}
function swapStatus() {
swapPost('swap_status', '', {}, function(data){
var rdata = $.parseJSON(data.data);
var size = rdata.data['size'];
var spCon = '<div class="conf_p" style="margin-top:30px;margin-bottom:0">\
<div style="border-bottom:#ccc 1px solid;padding-bottom:10px;margin-bottom:10px"><span><b>最大使用交换分区: </b></span>\
<select class="bt-input-text" name="swap_set" style="margin-left:-4px">\
<option value="218MB">218MB</option>\
<option value="512MB">512MB</option>\
<option value="1GB">1GB</option>\
<option value="2GB">2GB</option>\
<option value="4GB">4GB</option>\
</select>\
<span>当前: </span><input style="width:70px;background-color:#eee;" class="bt-input-text mr5" name="cur_size" type="text" value="' + size + '" readonly>MB\
</div>\
<p><span>修改</span><input style="width: 70px;" class="bt-input-text mr5" name="size" value="' + size + '" type="number" >MB</p>\
<div style="margin-top:10px; padding-right:15px" class="text-right"><button class="btn btn-success btn-sm" onclick="submitSwap()">提交</button></div>\
</div>';
$(".soft-man-con").html(spCon);
$(".conf_p select[name='swap_set']").change(function() {
var size = $(this).val();
$("input[name='cur_size']").val(size);
$("input[name='size']").val(size);
});
});
}
function submitSwap(){
var size = $("input[name='size']").val();
swapPost('change_swap', '',{"size":size}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
});
}
function readme(){
var readme = '<ul class="help-info-text c7">';
readme += '<li>dd if=/dev/zero of=/www/server/swap/swapfile bs=1M count=2048</li>';

Loading…
Cancel
Save