diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 22404105e..e01668ff1 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -17,10 +17,10 @@ function index() entry({"admin", "system", "openmptcprouter", "status"}, template("openmptcprouter/wanstatus"), _("Status"), 2).leaf = true entry({"admin", "system", "openmptcprouter", "interfaces_status"}, call("interfaces_status")).leaf = true entry({"admin", "system", "openmptcprouter", "settings"}, template("openmptcprouter/settings"), _("Advanced Settings"), 3).leaf = true - entry({"admin", "system", "openmptcprouter", "settings_add"}, post("settings_add")).leaf = true - entry({"admin", "system", "openmptcprouter", "update_vps"}, post("update_vps")).leaf = true + entry({"admin", "system", "openmptcprouter", "settings_add"}, post("settings_add")) + entry({"admin", "system", "openmptcprouter", "update_vps"}, post("update_vps")) entry({"admin", "system", "openmptcprouter", "backup"}, template("openmptcprouter/backup"), _("Backup on server"), 3).leaf = true - entry({"admin", "system", "openmptcprouter", "backupgr"}, post("backupgr")).leaf = true + entry({"admin", "system", "openmptcprouter", "backupgr"}, post("backupgr")) entry({"admin", "system", "openmptcprouter", "debug"}, template("openmptcprouter/debug"), _("Show all settings"), 5).leaf = true end diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm index a50d7f4a5..174e7cda1 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm @@ -7,6 +7,7 @@ luci.sys.call("/etc/init.d/openmptcprouter-vps backup_list >/dev/null 2>/dev/nul

<%:Backup on server%>

+ <% uci:foreach("openmptcprouter","server", function(s) servername = s[".name"] @@ -18,19 +19,17 @@ luci.sys.call("/etc/init.d/openmptcprouter-vps backup_list >/dev/null 2>/dev/nul
<%:Last available backup on server:%> <%=os.date('%d-%b-%Y', luci.model.uci.cursor():get("openmptcprouter",servername,"lastbackup"))%>
- - - <% else %>
<%:No available backup on server.%>
- - <% end %> <% end) %> + + +
diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 693805f5d..8d9e6c5fd 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -858,6 +858,14 @@ _backup_get() { [ -z "$(uci -q get openmptcprouter.${servername}.username)" ] && return [ -z "$(uci -q get openmptcprouter.${servername}.password)" ] && return [ -z "$(uci -q get openmptcprouter.${servername}.port)" ] && return + [ -z "$lastbackup" ] || [ "$lastbackup" -lt "$(uci -q get openmptcprouter.$servername.lastbackup)" ] && { + lastbackup="$(uci -q get openmptcprouter.$servername.lastbackup)" + serverbackup="$servername" + } +} + +_backup_get_and_apply() { + servername=$1 token="" vps_config="" _login @@ -879,8 +887,11 @@ _backup_get() { } backup_get() { + lastbackup="" + serverbackup="" config_load openmptcprouter config_foreach _backup_get server + [ -n "$serverbackup" ] && _backup_get_and_apply $serverbackup } _backup_list() { @@ -911,6 +922,7 @@ _backup_list() { backup_list() { config_load openmptcprouter config_foreach _backup_list server + uci -q commit openmptcprouter }