feat: dump sdbdata to file
This commit is contained in:
parent
07e54820e6
commit
9fb4bafb37
|
@ -188,13 +188,14 @@ int main(int argc, char const *argv[]) {
|
|||
}
|
||||
|
||||
if (dmInitLog() != 0) {
|
||||
printf("failed to start since init log error");
|
||||
printf("failed to start since init log error\n");
|
||||
taosCleanupArgs();
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (taosInitCfg(configDir, global.envCmd, global.envFile, global.apolloUrl, global.pArgs, 0) != 0) {
|
||||
dError("failed to start since read config error");
|
||||
taosCloseLog();
|
||||
taosCleanupArgs();
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
add_executable(create_table create_table.c)
|
||||
add_executable(create_table createTable.c)
|
||||
add_executable(tmq_demo tmqDemo.c)
|
||||
add_executable(tmq_sim tmqSim.c)
|
||||
add_executable(sdbDump sdbDump.c)
|
||||
target_link_libraries(
|
||||
create_table
|
||||
PUBLIC taos_static
|
||||
|
@ -22,3 +23,17 @@ target_link_libraries(
|
|||
PUBLIC common
|
||||
PUBLIC os
|
||||
)
|
||||
target_link_libraries(
|
||||
sdbDump
|
||||
PUBLIC dnode
|
||||
PUBLIC mnode
|
||||
PUBLIC sdb
|
||||
PUBLIC os
|
||||
)
|
||||
target_include_directories(
|
||||
sdbDump
|
||||
PUBLIC "${TD_SOURCE_DIR}/include/dnode/mnode"
|
||||
PRIVATE "${TD_SOURCE_DIR}/source/dnode/mnode/impl/inc"
|
||||
PRIVATE "${TD_SOURCE_DIR}/source/dnode/mnode/sdb/inc"
|
||||
PRIVATE "${TD_SOURCE_DIR}/source/dnode/mgmt/node_mgmt/inc"
|
||||
)
|
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||
*
|
||||
* This program is free software: you can use, redistribute, and/or modify
|
||||
* it under the terms of the GNU Affero General Public License, version 3
|
||||
* or later ("AGPL"), as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define _DEFAULT_SOURCE
|
||||
#include "dmMgmt.h"
|
||||
#include "tconfig.h"
|
||||
|
||||
int32_t main(int32_t argc, char *argv[]) {
|
||||
char datafile[PATH_MAX] = {0};
|
||||
|
||||
for (int32_t i = 1; i < argc; ++i) {
|
||||
if (strcmp(argv[i], "-c") == 0) {
|
||||
if (i < argc - 1) {
|
||||
if (strlen(argv[++i]) >= PATH_MAX) {
|
||||
printf("config file path overflow");
|
||||
return -1;
|
||||
}
|
||||
tstrncpy(configDir, argv[i], PATH_MAX);
|
||||
} else {
|
||||
printf("'-c' requires a parameter, default is %s\n", configDir);
|
||||
return -1;
|
||||
}
|
||||
} else if (strcmp(argv[i], "-f") == 0) {
|
||||
if (i < argc - 1) {
|
||||
if (strlen(argv[++i]) >= PATH_MAX) {
|
||||
printf("file path overflow");
|
||||
return -1;
|
||||
}
|
||||
tstrncpy(datafile, argv[i], PATH_MAX);
|
||||
} else {
|
||||
printf("'-f' requires a parameter, default is %s\n", configDir);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (taosCreateLog("dumplog", 1, configDir, NULL, NULL, NULL, NULL, 1) != 0) {
|
||||
printf("failed to dump since init log error\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (taosInitCfg(configDir, NULL, NULL, NULL, NULL, 0) != 0) {
|
||||
uError("failed to dump since read config error");
|
||||
taosCloseLog();
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (datafile[0] == 0) {
|
||||
snprintf(datafile, sizeof(datafile), "%s%sdata%smnode%sdata%ssdb.data", tsDataDir, TD_DIRSEP, TD_DIRSEP, TD_DIRSEP,
|
||||
TD_DIRSEP);
|
||||
}
|
||||
|
||||
dInfo("dump %s to sdb.json", datafile);
|
||||
|
||||
taosCleanupCfg();
|
||||
taosCloseLog();
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue