diff --git a/hyproxy-cli.php b/hyproxy-cli.php index 84b85b2..5dc17e0 100644 --- a/hyproxy-cli.php +++ b/hyproxy-cli.php @@ -37,6 +37,7 @@ 'proxy_pass::',//后端 'field_name::',//字段名 'value::',//字段内容 + 'bak_name::',//备份名称 ); $param = getopt('', $opt); //print_r($param); @@ -60,7 +61,10 @@ echo hyproxy_uninstall(); break; case 'backup': - echo hyproxy_proxy_backup(); + echo hyproxy_backup(); + break; + case 'restore': + echo hyproxy_restore($param['bak_name']); break; default: echo 'error action'; @@ -263,7 +267,7 @@ */ function hyproxy_uninstall() { - hyproxy_proxy_backup(); + hyproxy_backup(); global $medoo; $table = 'module_hyproxy'; $medoo->delete($table, null); @@ -274,7 +278,7 @@ /** * 备份所有反向代理 */ - function hyproxy_proxy_backup() + function hyproxy_backup() { global $medoo; $table = 'module_hyproxy'; @@ -290,6 +294,28 @@ return $res; } + /** + * 还原所有反向代理 + * @param null $bak_name + * @return string + */ + function hyproxy_restore($bak_name = null) + { + $backup_path = _HYPROXY . 'baks' . DS . $bak_name; + if (file_exists($backup_path)) { + $backup = file_get_contents($backup_path); + global $medoo; + $table = 'module_hyproxy'; + $medoo->delete($table, null); + $medoo->query("alter table $table auto_increment=1"); + $medoo->insert($table, json_decode($backup, true)); + hyproxy_make(); + return '[OK] Proxy restore success'; + } else { + return '[ERROR] Backup file not exist!'; + } + } + /** * 删除目录和子目录 * @param $path