summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorzhengchao <[email protected]>2018-09-26 12:09:08 +0800
committerzhengchao <[email protected]>2018-09-26 12:09:08 +0800
commit4d5b5f1f4523b65ef9ce72e16fe816ac55838271 (patch)
tree854bdf45ead2a6a94edf347c10c5fc624d6efc94 /tools
parentad24e175dc51eb4f317c6c55a0e3cd713f6e2afa (diff)
maat_redis_tool支持dump内容外键。
Diffstat (limited to 'tools')
-rw-r--r--tools/maat_redis_tool.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/tools/maat_redis_tool.cpp b/tools/maat_redis_tool.cpp
index 8b0a53c..4e731cf 100644
--- a/tools/maat_redis_tool.cpp
+++ b/tools/maat_redis_tool.cpp
@@ -106,6 +106,20 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
printf("mkdir %s error\n",output_path);
}
+ char foreign_files_dir[256];
+ snprintf(foreign_files_dir, sizeof(foreign_files_dir), "%s/foreign_files/",output_path);
+ if((access(foreign_files_dir,F_OK)) <0)
+
+ { if((mkdir(foreign_files_dir,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)) < 0)
+ printf("mkdir %s error\n",foreign_files_dir);
+
+ }
+ ret=get_foreign_keys_by_prefix(ctx, rule_list, rule_num, foreign_files_dir, logger);
+ if(ret>0)
+ {
+ printf("Getting %d foreign content.\n", ret);
+ get_foreign_conts(ctx, rule_list, rule_num, logger);
+ }
snprintf(index_path,sizeof(index_path),"%s/full_config_index.%020lld",output_path,version);
index_fp=fopen(index_path,"w");
if(index_fp==NULL)
@@ -116,6 +130,10 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
for(i=0;i<rule_num;i++)
{
+ if(rule_list[i].n_foreign>0)
+ {
+ rewrite_table_line_with_foreign(rule_list+i);
+ }
if(cur_table==NULL||0!=strcmp(cur_table,rule_list[i].table_name))
{
if(table_fp!=NULL)
@@ -223,8 +241,6 @@ int main(int argc, char * argv[])
int redis_port=6379;
int redis_db=0;
strncpy(redis_ip,"127.0.0.1",sizeof(redis_ip));
- char table_info[128];
- strncpy(table_info,"./table_info.conf",sizeof(table_info));
char dump_dir[128], json_file[128], tmp_iris_path[128];
strncpy(dump_dir,redis_dump_dir,sizeof(dump_dir));
redisContext * ctx=NULL;