diff --git a/class/core/crontab_api.py b/class/core/crontab_api.py index ea1f7d3fd..93e0dfce6 100755 --- a/class/core/crontab_api.py +++ b/class/core/crontab_api.py @@ -148,16 +148,16 @@ class crontab_api: def addApi(self): iname = request.form.get('name', '') - stype = request.form.get('type', '') + field_type = request.form.get('type', '') week = request.form.get('week', '') where1 = request.form.get('where1', '') hour = request.form.get('hour', '') minute = request.form.get('minute', '') save = request.form.get('save', '') - backupTo = request.form.get('backupTo', '') - sType = request.form.get('sType', '') - sName = request.form.get('sName', '') - sBody = request.form.get('sBody', '') + backup_to = request.form.get('backupTo', '') + stype = request.form.get('sType', '') + sname = request.form.get('sName', '') + sbody = request.form.get('sBody', '') urladdress = request.form.get('urladdress', '') if len(iname) < 1: @@ -165,26 +165,27 @@ class crontab_api: params = { 'name': iname, - 'type': stype, + 'type': field_type, 'week': week, 'where1': where1, 'hour': hour, 'minute': minute, 'save': save, - 'backupTo': backupTo, - 'sType': sType, - 'sName': sName, - 'sBody': sBody, + 'backup_to': backup_to, + 'stype': stype, + 'sname': sname, + 'sbody': sbody, 'urladdress': urladdress, } # print params - cuonConfig, _params, name = self.getCrondCycle(params) + cuonConfig, get, name = self.getCrondCycle(params) cronPath = public.getServerDir() + '/cron' cronName = self.getShell(params) # print cuonConfig, _params, name # print cronPath, cronName + # print stype if type(cronName) == dict: return cronName @@ -197,8 +198,9 @@ class crontab_api: return wRes self.crondReload() - addData = public.M('crontab').add(self.field, (iname, stype, where1, hour, minute, cronName, time.strftime( - '%Y-%m-%d %X', time.localtime()), 1, save, backupTo, sType, sName, sBody, urladdress)) + addData = public.M('crontab').add('name,type,where1,where_hour,where_minute,echo,addtime,status,save,backup_to,stype,sname,sbody,urladdress', (iname, field_type, where1, hour, minute, cronName, time.strftime( + '%Y-%m-%d %X', time.localtime()), 1, save, backup_to, stype, sname, sbody, urladdress)) + if addData > 0: return public.returnJson(True, '添加成功') return public.returnJson(False, '添加失败') @@ -206,27 +208,36 @@ class crontab_api: def delApi(self): sid = request.form.get('id', '') try: - find = public.M('crontab').where("id=?", (sid,)).delete() + find = public.M('crontab').where( + "id=?", (sid,)).field('name,echo').find() if not self.removeForCrond(find['echo']): return public.returnJson(False, '无法写入文件,请检查是否开启了系统加固功能!') cronPath = public.getServerDir() + '/cron' sfile = cronPath + '/' + find['echo'] + if os.path.exists(sfile): os.remove(sfile) sfile = cronPath + '/' + find['echo'] + '.log' if os.path.exists(sfile): os.remove(sfile) - public.M('crontab').where("id=?", (id,)).delete() + public.M('crontab').where("id=?", (sid,)).delete() public.writeLog('计划任务', public.getInfo( '删除计划任务[{1}]成功!', (find['name'],))) return public.returnJson(True, '删除成功') except Exception as e: - return public.returnJson(False, '删除失败') + return public.returnJson(False, '删除失败:' + str(e)) def delLogsApi(self): - return public.returnJson(True, '删除成功') + sid = request.form.get('id', '') + try: + echo = public.M('crontab').where("id=?", (sid,)).getField('echo') + logFile = public.getServerDir() + '/cron/' + echo + '.log' + os.remove(logFile) + return public.returnJson(True, '任务日志已清空!') + except: + return public.returnJson(False, '任务日志清空失败!') ##### ----- start ----- ### # 转换大写星期 @@ -346,7 +357,7 @@ class crontab_api: shell = head + "curl -sS --connect-timeout 10 -m 60 '" + \ param['urladdress'] + "'" else: - shell = head + param['sBody'].replace("\r\n", "\n") + shell = head + param['sbody'].replace("\r\n", "\n") shell += ''' echo "----------------------------------------------------------------------------" diff --git a/route/static/app/crontab.js b/route/static/app/crontab.js index d84c893d0..478c7d18a 100755 --- a/route/static/app/crontab.js +++ b/route/static/app/crontab.js @@ -93,19 +93,20 @@ function closeLogs(id){ $.post('/crontab/del_logs',data,function(rdata){ layer.closeAll(); layer.msg(rdata.msg,{icon:rdata.status?1:2}); - }); + },'json'); } //删除 function planDel(id,name){ - safeMessage(lan.get('del',[name]),lan.crontab.del_task,function(){ - layer.msg('正在处理,请稍候...',{icon:16,time:0,shade: [0.3, '#000']}); + safeMessage(lan.get('del',[name]),'您确定要删除该任务吗?',function(){ + var load = layer.msg('正在处理,请稍候...',{icon:16,time:0,shade: [0.3, '#000']}); var data='id='+id; $.post('/crontab/del',data,function(rdata){ - layer.closeAll(); - layer.msg(rdata.msg,{icon:rdata.status?1:2,time:2000}); - getCronData(); + layer.close(load); + showMsg(rdata.msg, function(){ + getCronData(); + },{icon:rdata.status?1:2,time:2000}); },'json'); }); } @@ -174,7 +175,7 @@ function planAdd(){ var name = $(".planname input[name='name']").val(); if(name == ''){ $(".planname input[name='name']").focus(); - layer.msg(lan.crontab.add_task_empty,{icon:2}); + layer.msg('任务名称不能为空!',{icon:2}); return; } $("#set-Config input[name='name']").val(name); @@ -198,12 +199,11 @@ function planAdd(){ case 'month': is1=31; break; - } if(where1 > is1 || where1 < is2){ $("#ptime input[name='where1']").focus(); - layer.msg(lan.public.input_err,{icon:2}); + layer.msg('表单不合法,请重新输入!',{icon:2}); return; } @@ -212,22 +212,21 @@ function planAdd(){ var hour = $("#ptime input[name='hour']").val(); if(hour > 23 || hour < 0){ $("#ptime input[name='hour']").focus(); - layer.msg(lan.crontab.input_hour_err,{icon:2}); + layer.msg('小时值不合法!',{icon:2}); return; } $("#set-Config input[name='hour']").val(hour); var minute = $("#ptime input[name='minute']").val(); if(minute > 59 || minute < 0){ $("#ptime input[name='minute']").focus(); - layer.msg(lan.crontab.input_minute_err,{icon:2}); + layer.msg('分钟值不合法!',{icon:2}); return; } $("#set-Config input[name='minute']").val(minute); var save = $("#save").val(); - if(save < 0){ - layer.msg(lan.crontab.input_number_err,{icon:2}); + layer.msg('不能有负数!',{icon:2}); return; } @@ -467,19 +466,19 @@ function toBackup(type){ '+sOpt+'\ \ \ -
'+lan.crontab.backup_to+'
\ +
备份到
\ \ -
'+lan.crontab.save_new+'
\ +
保留最新
\ \ - '+lan.crontab.save_num+'\ + \
'; $("#implement").html(sBody); getselectname(); diff --git a/route/static/app/public.js b/route/static/app/public.js index 9af45c1aa..684ca7ac9 100755 --- a/route/static/app/public.js +++ b/route/static/app/public.js @@ -22,9 +22,6 @@ function toSizeM(byteLen) { return a || 0; } - - - function randomStrPwd(b) { b = b || 32; var c = "AaBbCcDdEeFfGHhiJjKkLMmNnPpRSrTsWtXwYxZyz2345678"; @@ -349,8 +346,6 @@ function aotuHeight() { $(".main-content").css("min-height", a) } - - function showMsg(msg, callback ,icon, time){ if (typeof time == 'undefined'){