将主机进程列表输出到一个文件,将该文件通过ftp上传

 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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值