#include <stdio.h>
#include <dirent.h>
#include <string.h>
void search_file(char* dir);
void clear_file(char* FileName,char* Filename1);
DIR *dp;
struct dirent *dirp;
char* file;
FILE * fp=NULL;
char n_filename[50];
char o_filename[50];
char buf[80];
int pid;
int status;
char* logdir;
char* logbak;
char *optarg;
int main(char *argv[]){
logdir="/usr/local/tmp_file/";
logbak="/usr/local/tmp_file2/";
printf("Begin now !\n");
search_file(logdir);
}
void search_file(char* dir){
if ((dp = opendir(dir)) == NULL)
{
printf("directory %s is not found!\n",logdir);
}
/* print err */
while ((dirp = readdir(dp)) != NULL){
optarg = dirp->d_name;
/*printf ("%s \n" , optarg);*/
if ((strstr(optarg,".htm")!=NULL) |
(strstr(optarg,".vbs")!=NULL) |
(strstr(optarg,".asp")!=NULL) ) {
n_filename[0]='\0';
o_filename[0]='\0';
strcat(o_filename,logdir);
strcat(o_filename,"/");
strcat(o_filename,optarg);
strcat(n_filename,logbak);
strcat(n_filename,optarg);
printf("%s \n", o_filename);
clear_file(o_filename,n_filename);
/* status = rename(o_filename,n_filename); */
printf("%s %s rename file status : %d\n", o_filename, n_filename, status );
}
} /* for every log file */
closedir(dp);
sleep(20);
}
void clear_file(char* FileName,char* FileName1){
int i;
FILE *myFile=NULL,*fw=NULL;
char* line;
int count=0;
myFile = fopen(FileName,"r"); /* open file */
fw = fopen(FileName1,"w");
if(myFile == NULL)
{
printf("No config file myFile,Please config your system first!\n");
exit(1);
}
while( fgets(line,1024,myFile)!=NULL ) {
/* printf("line is : %s" , line); */
if ( strstr(line,"<vbscript")!=NULL){
count=1;
}else if ( strstr(line,"</vbscript")!=NULL){
count=0;
}else if (count==0){
fputs(line,fw);
}
}
/* read file by line */
fclose(myFile);
}