gluon-luci-admin: remove backup/restore
This commit is contained in:
		
							parent
							
								
									08bc198e36
								
							
						
					
					
						commit
						3712f8795c
					
				| @ -17,51 +17,9 @@ module("luci.controller.admin.system", package.seeall) | ||||
| 
 | ||||
| function index() | ||||
| 	entry({"admin", "passwd"}, cbi("admin/passwd"), "Admin Password", 10) | ||||
| 	entry({"admin", "backup"}, call("action_backup"), "Backup / Restore", 80) | ||||
| 	entry({"admin", "upgrade"}, call("action_upgrade"), "Flash Firmware", 90) | ||||
| end | ||||
| 
 | ||||
| function action_backup() | ||||
| 	local reset_avail = os.execute([[grep '"rootfs_data"' /proc/mtd >/dev/null 2>&1]]) == 0 | ||||
| 	local restore_cmd = "gunzip | tar -xC/ >/dev/null 2>&1" | ||||
| 	local backup_cmd  = "tar -c %s | gzip 2>/dev/null" | ||||
| 	 | ||||
| 	local restore_fpi  | ||||
| 	luci.http.setfilehandler( | ||||
| 		function(meta, chunk, eof) | ||||
| 			if not restore_fpi then | ||||
| 				restore_fpi = io.popen(restore_cmd, "w") | ||||
| 			end | ||||
| 			if chunk then | ||||
| 				restore_fpi:write(chunk) | ||||
| 			end | ||||
| 			if eof then | ||||
| 				restore_fpi:close() | ||||
| 			end | ||||
| 		end | ||||
| 	) | ||||
| 		   | ||||
| 	local upload = luci.http.formvalue("archive") | ||||
| 	local backup = luci.http.formvalue("backup") | ||||
| 	local reset  = reset_avail and luci.http.formvalue("reset") | ||||
| 	 | ||||
| 	if upload and #upload > 0 then | ||||
| 		luci.template.render("admin/applyreboot") | ||||
| 		luci.sys.reboot() | ||||
| 	elseif backup then | ||||
| 		local reader = ltn12_popen(backup_cmd:format(_keep_pattern())) | ||||
| 		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 reset then | ||||
| 		luci.template.render("admin/applyreboot") | ||||
| 		luci.util.exec("mtd -r erase rootfs_data") | ||||
| 	else | ||||
| 		luci.template.render("admin/backup", {reset_avail = reset_avail}) | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| function action_upgrade() | ||||
| 	require("luci.model.uci") | ||||
| 
 | ||||
| @ -187,36 +145,6 @@ function _keep_pattern() | ||||
| 	return kpattern | ||||
| end | ||||
| 
 | ||||
| function ltn12_popen(command) | ||||
| 
 | ||||
| 	local fdi, fdo = nixio.pipe() | ||||
| 	local pid = nixio.fork() | ||||
| 
 | ||||
| 	if pid > 0 then | ||||
| 		fdo:close() | ||||
| 		local close | ||||
| 		return function() | ||||
| 			local buffer = fdi:read(2048) | ||||
| 			local wpid, stat = nixio.waitpid(pid, "nohang") | ||||
| 			if not close and wpid and stat == "exited" then | ||||
| 				close = true | ||||
| 			end | ||||
| 
 | ||||
| 			if buffer and #buffer > 0 then | ||||
| 				return buffer | ||||
| 			elseif close then | ||||
| 				fdi:close() | ||||
| 				return nil | ||||
| 			end | ||||
| 		end | ||||
| 	elseif pid == 0 then | ||||
| 		nixio.dup(fdo, nixio.stdout) | ||||
| 		fdi:close() | ||||
| 		fdo:close() | ||||
| 		nixio.exec("/bin/sh", "-c", command) | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| function fork_exec(command) | ||||
| 	local pid = nixio.fork() | ||||
| 	if pid > 0 then | ||||
|  | ||||
| @ -1,21 +0,0 @@ | ||||
| <%# | ||||
| LuCI - Lua Configuration Interface | ||||
| Copyright 2008 Steven Barth <steven@midlink.org> | ||||
| Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
| 	http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
| $Id$ | ||||
| 
 | ||||
| -%> | ||||
| <%+header%> | ||||
| <h2><a id="content" name="content">System</a></h2> | ||||
| <br /> | ||||
| <p><% if msg then %><%=msg%><% else %>Changes applied.<% end %></p> | ||||
| <p>Please wait: Device rebooting...</p> | ||||
| <script type="text/javascript">setTimeout("location='<%=controller%>'", 60000)</script> | ||||
| <%+footer%> | ||||
| @ -1,39 +0,0 @@ | ||||
| <%# | ||||
| LuCI - Lua Configuration Interface | ||||
| Copyright 2008 Steven Barth <steven@midlink.org> | ||||
| Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
| 	http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
| $Id$ | ||||
| 
 | ||||
| -%> | ||||
| <%+header%> | ||||
| <h2><a id="content" name="content">Backup / Restore</a></h2> | ||||
| <p>Here you can backup and restore your configuration and - if possible - reset this device to the default settings.</p> | ||||
| <br /> | ||||
| <div> | ||||
| 	<ul> | ||||
| 	<li><a href="<%=REQUEST_URI%>?backup=kthxbye">Create backup</a></li> | ||||
| 	<% if reset_avail then -%> | ||||
| 	<li><a href="<%=REQUEST_URI%>?reset=yarly" onclick="return confirm('Proceed reverting all settings and resetting to firmware defaults?')">Reset this device to defaults</a></li> | ||||
| 	<% end -%> | ||||
| 	</ul> | ||||
| </div> | ||||
| 
 | ||||
| <br /> | ||||
| 
 | ||||
| <form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data"> | ||||
| 	<div class="left">Backup Archive:</div> | ||||
| 	<div> | ||||
| 		<input type="file" size="30" name="archive" /> | ||||
| 	</div> | ||||
| 	<div> | ||||
| 		<input type="submit" class="cbi-button cbi-input-apply" value="Restore backup" /> | ||||
| 	</div> | ||||
| </form> | ||||
| <%+footer%> | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user