diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2011-12-20 17:35:50 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2011-12-20 17:35:50 +0000 |
commit | abb201ab57ee0938f92685b6466da3b548529de6 (patch) | |
tree | 9e360ea98ed4f2c725528f035a1020a48c938c56 /modules | |
parent | 5e4d4ff5ef91e639f83d995902eb8ee23b9d6666 (diff) |
modules/admin-full: reuse sysupgrade facilities to create backup archive
Diffstat (limited to 'modules')
-rw-r--r-- | modules/admin-full/luasrc/controller/admin/system.lua | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/system.lua b/modules/admin-full/luasrc/controller/admin/system.lua index 68f3d258d..a5666ccbb 100644 --- a/modules/admin-full/luasrc/controller/admin/system.lua +++ b/modules/admin-full/luasrc/controller/admin/system.lua @@ -2,7 +2,7 @@ LuCI - Lua Configuration Interface Copyright 2008 Steven Barth <steven@midlink.org> -Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org> +Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -186,7 +186,7 @@ function action_flashops() local reset_avail = os.execute([[grep '"rootfs_data"' /proc/mtd >/dev/null 2>&1]]) == 0 local restore_cmd = "tar -xzC/ >/dev/null 2>&1" - local backup_cmd = "tar -czT %s 2>/dev/null" + local backup_cmd = "sysupgrade --create-backup - 2>/dev/null" local image_tmp = "/tmp/firmware.img" local function image_supported() @@ -249,20 +249,11 @@ function action_flashops() -- -- Assemble file list, generate backup -- - local filelist = "/tmp/luci-backup-list.%d" % os.time() - sys.call( - "( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' /etc/sysupgrade.conf " .. - "/lib/upgrade/keep.d/* 2>/dev/null) -type f 2>/dev/null; " .. - "opkg list-changed-conffiles ) | sort -u > %s" % filelist - ) - if fs.access(filelist) then - local reader = ltn12_popen(backup_cmd:format(filelist)) - luci.http.header('Content-Disposition', 'attachment; filename="backup-%s-%s.tar.gz"' % { - luci.sys.hostname(), os.date("%Y-%m-%d")}) - luci.http.prepare_content("application/x-targz") - luci.ltn12.pump.all(reader, luci.http.write) - fs.unlink(filelist) - end + local reader = ltn12_popen(backup_cmd) + luci.http.header('Content-Disposition', 'attachment; filename="backup-%s-%s.tar.gz"' % { + luci.sys.hostname(), os.date("%Y-%m-%d")}) + luci.http.prepare_content("application/x-targz") + luci.ltn12.pump.all(reader, luci.http.write) elseif luci.http.formvalue("restore") then -- -- Unpack received .tar.gz |