pull/310/head
midoks 2 years ago
parent 52eae4625f
commit 77425dfc48
  1. 4
      class/core/crontab_api.py
  2. 7
      route/static/app/crontab.js
  3. 25
      scripts/backup.py

@ -230,8 +230,8 @@ class crontab_api:
cronInfo['sbody'] = get['sbody'] cronInfo['sbody'] = get['sbody']
cronInfo['urladdress'] = get['urladdress'] cronInfo['urladdress'] = get['urladdress']
addData = mw.M('crontab').where('id=?', (sid,)).save('name,type,where1,where_hour,where_minute,save,backup_to,sbody,urladdress', (get[ addData = mw.M('crontab').where('id=?', (sid,)).save('name,type,where1,where_hour,where_minute,save,backup_to, sname, sbody,urladdress',
'name'], field_type, get['where1'], get['hour'], get['minute'], get['save'], get['backup_to'], get['sbody'], get['urladdress'])) (iname, field_type, get['where1'], get['hour'], get['minute'], get['save'], get['backup_to'], sname, get['sbody'], get['urladdress']))
self.removeForCrond(cronInfo['echo']) self.removeForCrond(cronInfo['echo'])
self.syncToCrond(cronInfo) self.syncToCrond(cronInfo)
mw.writeLog('计划任务', '修改计划任务[' + cronInfo['name'] + ']成功') mw.writeLog('计划任务', '修改计划任务[' + cronInfo['name'] + ']成功')

@ -676,7 +676,7 @@ function editTaskInfo(id){
<div class="clearfix plan ptb10 site_list" style="display:none">\ <div class="clearfix plan ptb10 site_list" style="display:none">\
<span class="typename controls c4 pull-left f14 text-right mr20">'+ sTypeName +'</span>\ <span class="typename controls c4 pull-left f14 text-right mr20">'+ sTypeName +'</span>\
<div style="line-height:34px"><div class="dropdown pull-left mr20 sName_btn" style="display:'+ (obj.from.sType != "path"?'block;':'none') +'">\ <div style="line-height:34px"><div class="dropdown pull-left mr20 sName_btn" style="display:'+ (obj.from.sType != "path"?'block;':'none') +'">\
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" style="width:auto" disabled="disabled">\ <button class="btn btn-default dropdown-toggle sname" type="button" data-toggle="dropdown" style="width:auto" disabled="disabled">\
<b id="sName" val="'+ obj.from.sname +'">'+ obj.from.sname +'</b>\ <b id="sName" val="'+ obj.from.sname +'">'+ obj.from.sname +'</b>\
<span class="caret"></span>\ <span class="caret"></span>\
</button>\ </button>\
@ -722,7 +722,8 @@ function editTaskInfo(id){
$('.changePathDir').click(function(){ $('.changePathDir').click(function(){
changePathCallback($('#sName').val(),function(select_dir){ changePathCallback($('#sName').val(),function(select_dir){
$('input[name="name"]').val('备份目录['+select_dir+']'); $('input[name="name"]').val('备份目录['+select_dir+']');
$('.sName_btn button b').attr('val',select_dir).text(select_dir); $('.sName_btn .sname b').attr('val',select_dir).text(select_dir);
obj.from.sname = select_dir;
}); });
}); });
@ -736,6 +737,8 @@ function editTaskInfo(id){
$('.site_list').show(); $('.site_list').show();
} }
obj.from.minute = $('.minute_create').val(); obj.from.minute = $('.minute_create').val();
obj.from.hour = $('.hour_create').val(); obj.from.hour = $('.hour_create').val();
obj.from.where1 = $('.where1_create').val(); obj.from.where1 = $('.where1_create').val();

@ -181,6 +181,29 @@ class backupTools:
for database in databases: for database in databases:
self.backupDatabase(database['name'], save) self.backupDatabase(database['name'], save)
def backupPath(self, path, count):
print("=" * 90)
print("★开始备份[{}]".format(mw.formatDate()))
print("=" * 90)
backup_path = mw.getBackupDir() + '/path'
if not os.path.exists(backup_path):
mw.execShell("mkdir -p " + backup_path)
dirname = os.path.basename(path)
fname = 'path_{}_{}.tar.gz'.format(
dirname, mw.formatDate("%Y%m%d_%H%M%S"))
dfile = os.path.join(backup_path, fname)
cmd = "cd " + os.path.dirname(path) + " && tar zcvf '" + dfile + "' '" + dirname + "' 2>{err_log} 1> /dev/null".format(
err_log='/tmp/backup_err.log')
mw.execShell(cmd)
print("=" * 90)
print("☆备份完成[{}]".format(mw.formatDate()))
print("=" * 90)
print("\n")
if __name__ == "__main__": if __name__ == "__main__":
backup = backupTools() backup = backupTools()
@ -196,4 +219,4 @@ if __name__ == "__main__":
else: else:
backup.backupDatabase(sys.argv[2], sys.argv[3]) backup.backupDatabase(sys.argv[2], sys.argv[3])
elif stype == 'path': elif stype == 'path':
print(".") backup.backupPath(sys.argv[2], sys.argv[3])

Loading…
Cancel
Save