vi sys_stat_log.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
#define CMD_COUNT 5L
#define UP_FTP_NAME "up_ftp.txt"
void str_toupper(char *hostname) {
int i=0;
while(hostname[i]!='\0') {
if(islower(hostname[i]))
hostname[i]=toupper(hostname[i]);
i++;
}
}
int ftp_up_cmd(char *ftp[],int count) {
FILE *ftp_fp;
int i=0,ret;
char ftp_cmd[128];
ftp_fp=fopen(UP_FTP_NAME,"a");
if(ftp_fp==NULL) {
fprintf(stderr,"fopen %s error.\n",UP_FTP_NAME);
exit(-1);
}
for(i=0;i<9;i++) {
ret=fprintf(ftp_fp,"%s\n",ftp[i]);
if(ret<0) {
fprintf(stderr,"fprintf error.\n");
exit(-1);
}
}
ret=fclose(ftp_fp);
if(ret==EOF) {
fprintf(stderr,"fclose %s error.\n",UP_FTP_NAME);
exit(-1);
}
ret=sprintf(ftp_cmd,"ftp -s:%s",UP_FTP_NAME);
if(ret<0) {
fprintf(stderr,"sprintf ftp_cmd error.\n");
exit(-1);
}
system(ftp_cmd);
unlink(UP_FTP_NAME);
return 0;
}
int main() {
int n=0;
int i,ret;
FILE *fp;
char readbuf1[1024];
char readbuf2[10240];
char hostname[64];
char up_file_path[128];
char up_file[64];
char up_file_name[128];
time_t time_stamp;
struct tm *p1;
const char *cmd_array[CMD_COUNT]={"tasklist | grep rtssvc.exe","tasklist | grep SICCollector.exe","tasklist | grep SICLogger.exe","tasklist | grep SICSniffer.exe","tasklist | grep SICTelnetLog.exe"};
time_stamp=time(NULL);
p1=localtime(&time_stamp);
gethostname(hostname,sizeof(hostname));
str_toupper(hostname);
sprintf(up_file_path,"cd ftp_back/%s/sys_stat_log",hostname);
sprintf(up_file_name,"%s_%d-%02d-%02d.log",hostname,1900+p1->tm_year,(1+p1->tm_mon),p1->tm_mday);
sprintf(up_file,"put %s",up_file_name);
// char *up_ftp_parm[9]={"open 10.199.77.20","umap","linkage","lcd E:\\cygwin\\home\\neo\\popen","cd ftp_back/ZZ-AQ-4A-4/sys_stat_log","bin",up_file,"close","bye"};
char *up_ftp_parm[9]={"open 10.199.77.20","umap","linkage","lcd E:\\cygwin\\home\\neo\\popen",up_file_path,"bin",up_file,"close","bye"};
for(i=0;i<CMD_COUNT;i++) {
fp=popen(cmd_array[i],"r");
if(fp==NULL) {
fprintf(stderr,"popen() error.\n");
exit(-1);
}
while(fgets(readbuf1,1024,fp)!=NULL)
strcat(readbuf2,readbuf1);
}
printf("%s\n",readbuf2);
//create upload file
printf("%s\n",up_file_name);
fp=fopen(up_file_name,"w+");
if(fp==NULL) {
fprintf(stderr,"fopen() error.\n");
exit(-1);
}
ret=fprintf(fp,"%s",readbuf2);
if(ret==-1) {
fprintf(stderr,"fprintf() error.\n");
exit(-1);
}
ret=fclose(fp);
if(ret==EOF) {
fprintf(stderr,"fclose() error.\n");
exit(-1);
}
//ftp upload to 10.199.77.20
ftp_up_cmd(up_ftp_parm,9);
exit(0);
}