maat_redis_tool支持dump内容外键。

This commit is contained in:
zhengchao
2018-09-26 12:09:08 +08:00
parent ad24e175dc
commit 4d5b5f1f45
6 changed files with 120 additions and 51 deletions

View File

@@ -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;