Roswell_ | vla le prog, il fait une sauvegarde d'un bdd mysql avec la date du jours.
Code :
- #include <stdio.h>
- #include <unistd.h>
- int main(int n,char** argv)
- {
- int pipe1[2],pipe2[2];
- char *buff, *nom;
- if(n<2)
- {
- printf("utilisation: save_db <bdd>\n" );
- exit(-1);
- }
- pipe(pipe1);
- if(fork()==0)
- {
- close(1);
- dup(pipe1[1]);
- execlp("/bin/date","date","+%A",NULL);
- exit(-1);
- }
- else
- {
- wait(NULL);
- close(pipe1[1]);
- buff = (char*)malloc(18*sizeof(char));
- read(pipe1[0],buff,18);
- nom=(char*)malloc(20*sizeof(char));
- buff[strlen(buff)-1]='.';
- sprintf(nom,"%ssql",buff);
- free(buff);
- buff=NULL;
- pipe(pipe2);
- if(fork()==0)
- {
- close(1);
- dup(pipe2[1]);
- close(pipe2[1]);
- execlp("/usr/local/bin/mysqldump","mysqldump",argv[1],"-u****","-p****",NULL);
- exit(-1);
- }
- else
- {
- //wait(NULL); pour que cela ce fasse au fur et a mesure
- close(pipe2[1]);// pour que le pipe se bloc et attende
- close(0);
- dup(pipe2[0]);
- //close(1); sinon marche pas
- execl("/usr/bin/tee","tee",nom,NULL);
- return 0;
- }
- }
- }
|
|