⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql-data-clean-timer.c

📁 在linux下每天在指定的时间里自动清除mysql数据库中的一个星期前的log数据
💻 C
字号:
#include </usr/include/mysql/mysql.h>
#include <stdio.h>
#include <time.h>

int main()
{  
	
   printf("Data Cleaner Staring......\n ");

   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;

   char *server = "127.0.0.1";
   char *user = "root";
   char *password = "123456";
   char *database = "ddbb";
   time_t timep;
   struct tm *p;
   int nhour,nsec,nmin;
   int chour,csec,cmin;
   
   conn = mysql_init(NULL);
   
   time(&timep);
   p=localtime(&timep);
   nhour=p->tm_hour;
   nmin=p->tm_min;
   nsec=p->tm_sec;
   chour=12;
   cmin=30;
   csec=1;

   int ncan=nhour+nmin+nsec;

   do
   {
	  sleep(1);
	time(&timep);
      p=localtime(&timep);
      nhour=p->tm_hour;
      nmin=p->tm_min;
      nsec=p->tm_sec;
      ncan=nhour+nmin+nsec;	
	  if(nhour==chour & nmin==cmin & nsec==csec)
	  {
		 printf("Cleaning the data...... \n");
		if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
		{
		fprintf(stderr, "%s\n", mysql_error(conn));
		cmin=cmin+1;
		if (cmin==60)
		{cmin==0;
		}
		continue;
		}
         if (mysql_query(conn, "delete from slog where DTIME < now()-7000000")) 
		 {
			 fprintf(stderr, "%s\n", mysql_error(conn));
			 cmin=cmin+1;
			if (cmin==60)
			{cmin==0;
			}
	    	 continue;
	     }
         if (mysql_query(conn, "delete from klog where DTIME < now()-7000000")) 
		 {
			 fprintf(stderr, "%s\n", mysql_error(conn));
			 cmin=cmin+1;
			if (cmin==60)
			{cmin==0;
			}
	    	 continue;
	     }
		 mysql_close(conn);
		   chour=11;
		   cmin=40;
		   csec=1;
	  }else
	  {
		  continue;
	  }
   }while (1);   

   return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -