/* Auto archive script Written by Kakashi */ #include #include #include #include #include #include #include #include int main() { struct dirent **namelist, **releaselist; struct stat buf; size_t seconds, now; int n, i; char path[128]; char releasepath[128]; n = scandir("/glftpd/site", &namelist, 0, alphasort); if (n < 0) perror("scandir"); else { while(n--) { //Excluding sections that doesnt need any checking if(strcmp(namelist[n]->d_name, "archive") == 0) continue; else if (strcmp(namelist[n]->d_name, "groups") == 0) continue; else if (strcmp(namelist[n]->d_name, "requests") == 0) continue; else if (strncmp(namelist[n]->d_name, "Last_PRE", 8) == 0) continue; else if (strncmp(namelist[n]->d_name, "Latest_Race", 11) == 0) continue; else if (strcmp(namelist[n]->d_name, "..") == 0) continue; else if (strcmp(namelist[n]->d_name, ".") == 0) continue; printf("%s\n", namelist[n]->d_name); //Starting Section Seach sprintf(path, "/glftpd/site/%s", namelist[n]->d_name); free(namelist[n]); i = 0; i = scandir(path, &releaselist, 0, alphasort); if (i < 0) perror("scandir"); else { while(i--) { //Excluding the stuff we dont need if (strstr(releaselist[i]->d_name, "incomplete") != 0) continue; else if (strcmp(releaselist[i]->d_name, "..") == 0) continue; else if (strcmp(releaselist[i]->d_name, ".") == 0) continue; sprintf(releasepath,"%s/%s", path, releaselist[i]->d_name); stat(releasepath,&buf); now = time(NULL); seconds = now - buf.st_mtime; printf("%s %d\n", releaselist[i]->d_name, seconds); free(releaselist[i]); } free(releaselist); } } free(namelist); } return 0; }