1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| int a = 1; //initiateur de boucle
while(a==1)
{
FILE * logindex;
logindex = fopen("./logindex3.log", "r+");
if(!logindex)
{
char * files_rep = "./logwork/3";
char * index_name = "logindex3.log";
logindex_builder(files_rep, index_name); // Création de l'index
}
else if (file_exists_non_empty(logindex)==1) //on vérifie que logindex contienne des lignes !
{
char * pathlog;
fscanf(logindex,"%[^\n]", &pathlog); //on copie le chemin vers le fichier log à traiter
FILE * log;
log = fopen(pathlog, "r+");
/////////// Varibales de récupération des données du fichier log ////////////////
char * timestamp;
char * ip;
char * port;
char * eventtype;
char * id_box;
char * event;
if(fgetc(log)==EOF)
{
file_line_delete(pathlog, logindex); //Suppression du log de l'index
file_delete(pathlog); // Suppression du fichier log
}// fin if
else
{
while(fgetc(log)!=EOF)
{
fgetc(log); // ligne par ligne
char * ligne;
fscanf(log,"%[^\n]", &ligne);
fscanf(log,"%[^;];%[^;];%[^;];%[^;];%[^;];%s", ×tamp, &ip, &port, &eventtype, &id_box, &event);
printf(" %s\n %s\n %s\n %s\n %s\n %s\n", timestamp, ip, port, eventtype, id_box, event);
char * date = system("date");
////////// Chaîne de connexion //////////////////////////
conn = PQsetdbLogin(*pghost, *pgport, *pgoptions, *pgtty, *dbName, *login,pwd);
/////////////////////////////////////////////////////////
char query[256];
sprintf(query, "INSERT INTO mf_boxes_datalogs(dtlog_added_date,bx_ip,evt_type,bx_id,bx_data) VALUES ( '%s','%s', '%s', '%s', '%s')", date, ip, eventtype, id_box, event);
res = PQexec(conn, query);
PQfinish(conn); // fermeture de la connection
///////// Effacement de la ligne dans le fichier log /////////////
char *delete_line;
sprintf(delete_line, "sed -i '/%s/d' /%s", ligne, *pathlog);
system(delete_line);
}// fin while
}// fin else
fclose(log);
}//fin else if
}// fin boucle principale |
Partager