Merge pull request #694 from midoks/dev

rsyncd优化
pull/696/head
Mr Chen 4 months ago committed by GitHub
commit c10eac5190
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 30
      plugins/rsyncd/index.py
  2. 13
      plugins/rsyncd/js/rsyncd.js
  3. 15
      web/utils/file.py

@ -281,21 +281,33 @@ def rsyncOp(method):
return 'fail'
def start():
return rsyncOp('start')
def lsyncdOp(method):
if not mw.isAppleSystem():
data = mw.execShell('systemctl ' + method + ' lsyncd')
if data[1] == '':
return 'ok'
return 'fail'
return 'fail'
def start():
status = rsyncOp('start')
lsyncdOp('start')
return status
def stop():
return rsyncOp('stop')
status = rsyncOp('stop')
lsyncdOp('stop')
return status
def restart():
return rsyncOp('restart')
status = rsyncOp('restart')
lsyncdOp('restart')
return status
def reload():
return rsyncOp('reload')
status = rsyncOp('reload')
lsyncdOp('reload')
return status
def initdStatus():
if mw.isAppleSystem():
@ -722,7 +734,7 @@ def lsyncdAdd():
import base64
args = getArgs()
data = checkArgs(args, ['ip', 'conn_type', 'path', 'delay', 'period'])
data = checkArgs(args, ['ip', 'conn_type', 'path', 'delay', 'period', 'bwlimit'])
if not data[0]:
return data[1]

@ -84,6 +84,15 @@ function createSendTask(name = ''){
period_minute_n = "selected";
}
var bwlimit = "1024";
if ('rsync' in data){
bwlimit = data['rsync']['bwlimit'];
}
var delay = "3";
if ('delay' in data){
delay = data['delay'];
}
var layerID = layer.open({
type: 1,
@ -146,9 +155,9 @@ function createSendTask(name = ''){
<div class='line'>\
<span class='tname'>限速</span>\
<div class='info-r c4'>\
<input class='bt-input-text' type='number' name='bwlimit' min='0' value='1024' style='width:100px' /> KB\
<input class='bt-input-text' type='number' name='bwlimit' min='0' value='"+bwlimit+"' style='width:100px' /> KB\
<span data-toggle='tooltip' data-placement='top' title='【限速】限制数据同步任务的速度,防止因同步数据导致带宽跑高' class='bt-ico-ask' style='cursor: pointer;'>?</span>\
<span style='margin-left: 29px;margin-right: 10px;'>延迟</span><input class='bt-input-text' min='0' type='number' name='delay' value='3' style='width:100px' /> \
<span style='margin-left: 29px;margin-right: 10px;'>延迟</span><input class='bt-input-text' min='0' type='number' name='delay' value='"+delay+"' style='width:100px' /> \
<span data-toggle='tooltip' data-placement='top' title='【延迟】在延迟时间周期内仅记录不同步,到达周期后一次性同步数据,以节省开销' class='bt-ico-ask' style='cursor: pointer;'>?</span>\
</div>\
</div>\

@ -496,10 +496,17 @@ def saveBody(path, data, encoding):
def sortFileList(path, ftype = 'mtime', sort = 'desc'):
flist = os.listdir(path)
if ftype == 'mtime':
if sort == 'desc':
flist = sorted(flist, key=lambda f: os.path.getmtime(os.path.join(path,f)), reverse=True)
if sort == 'asc':
flist = sorted(flist, key=lambda f: os.path.getmtime(os.path.join(path,f)), reverse=False)
try:
if sort == 'desc':
flist = sorted(flist, key=lambda f: os.path.getmtime(os.path.join(path,f)), reverse=True)
if sort == 'asc':
flist = sorted(flist, key=lambda f: os.path.getmtime(os.path.join(path,f)), reverse=False)
except Exception as e:
if sort == 'desc':
flist = sorted(flist, key=lambda f: os.path.getctime(os.path.join(path,f)), reverse=True)
if sort == 'asc':
flist = sorted(flist, key=lambda f: os.path.getctime(os.path.join(path,f)), reverse=False)
if ftype == 'size':
if sort == 'desc':

Loading…
Cancel
Save