diff options
| author | zhengchao <[email protected]> | 2018-09-26 12:09:08 +0800 |
|---|---|---|
| committer | zhengchao <[email protected]> | 2018-09-26 12:09:08 +0800 |
| commit | 4d5b5f1f4523b65ef9ce72e16fe816ac55838271 (patch) | |
| tree | 854bdf45ead2a6a94edf347c10c5fc624d6efc94 /tools | |
| parent | ad24e175dc51eb4f317c6c55a0e3cd713f6e2afa (diff) | |
maat_redis_tool支持dump内容外键。
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/maat_redis_tool.cpp | 20 |
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; |
