亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C++ > 正文

c實(shí)現(xiàn)linux下的數(shù)據(jù)庫(kù)備份

2020-05-23 14:18:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文給大家簡(jiǎn)單介紹下c實(shí)現(xiàn)linux下的數(shù)據(jù)庫(kù)備份的方法和具體的源碼,十分的實(shí)用,有需要的小伙伴可以參考下。

Linux下c實(shí)現(xiàn)的數(shù)據(jù)庫(kù)備份,只要修改數(shù)據(jù)庫(kù)列表文件的信息即可。

db_list.txt把后綴去掉即可,一個(gè)數(shù)據(jù)庫(kù)一行。

1. main.c

 

 
  1. #include<sys/types.h> 
  2. #include<sys/wait.h> 
  3. #include<ctype.h> 
  4. #include<unistd.h> 
  5. #include<string.h> 
  6. #include<stdlib.h> 
  7. #include<stdio.h> 
  8.  
  9. //待備份的數(shù)據(jù)表文件(一個(gè)數(shù)據(jù)庫(kù)一行) 
  10. #define DB_FILE "./db_list" 
  11. //最多可以備份的數(shù)據(jù)庫(kù)數(shù)量 
  12. #define NUM 20 
  13. //一個(gè)數(shù)據(jù)庫(kù)名字的最長(zhǎng)字符數(shù) 
  14. #define LEN 128 
  15. //保存從DB_FILE中讀取到的數(shù)據(jù)庫(kù) 
  16. char *db_list[NUM]; 
  17. //從DB_FILE文件中讀取到的數(shù)據(jù)庫(kù)數(shù)量 
  18. int read_num; 
  19. //請(qǐng)求內(nèi)存函數(shù) 
  20. void malloc_dblist(); 
  21. //釋放內(nèi)存函數(shù) 
  22. void free_dblist(); 
  23. //讀取數(shù)據(jù)庫(kù)文件 
  24. void readDbFile(); 
  25.  
  26. int main(int argc, char *argv[]) { 
  27. pid_t pid; 
  28. int i; 
  29. char buf[LEN]; 
  30.  
  31. //從文件讀取數(shù)據(jù)庫(kù)信息 
  32. readDbFile(); 
  33.  
  34. pid = fork(); 
  35.  
  36. if (pid < 0) { 
  37. fprintf(stderr, "fork error/n"); 
  38. exit(1); 
  39.  
  40. switch (pid) { 
  41. case -1: 
  42. fprintf(stderr, "fork failed/n"); 
  43. exit(1); 
  44. case 0: 
  45. //子進(jìn)程進(jìn)行數(shù)據(jù)庫(kù)的備份 
  46. for (i = 0; i < read_num; i++) { 
  47. memset(buf, '/0', LEN); 
  48. sprintf(buf, "%s%s%s%s%s""mysqldump -uroot ", db_list[i], " > ", db_list[i], ".sql"); 
  49. system(buf); 
  50. printf("%d,%s/n", i, buf); 
  51. break
  52. //等待子進(jìn)程的結(jié)束 
  53. if (pid > 0) { 
  54. int stat_val; 
  55. pid_t child_pid; 
  56.  
  57. child_pid = wait(&stat_val); 
  58.  
  59. if (!WIFEXITED(stat_val)) { 
  60. fprintf(stdout, "Child terminated abnormaly/n"); 
  61. exit(1); 
  62.  
  63.  
  64. free_dblist(); 
  65.  
  66. exit(0); 
  67.  
  68.  
  69. void malloc_dblist() 
  70. int i = 0; 
  71. //malloc for db_list 
  72. for (i = 0; i < NUM; i++) { 
  73. db_list[i] = malloc(LEN); 
  74. memset(db_list[i], '/0', LEN); 
  75. void free_dblist() 
  76. int i; 
  77. //free db_list's memory 
  78. for (i = 0; i < NUM; i++) { 
  79. free(db_list[i]); 
  80.  
  81. void readDbFile() 
  82. FILE *fp; 
  83.  
  84. fp = fopen(DB_FILE, "r"); 
  85. if (!fp) { 
  86. fprintf(stderr, "%s not found/n", DB_FILE); 
  87. else { 
  88. malloc_dblist(); 
  89.  
  90. read_num = 0; 
  91. while (fscanf(fp, "%127[^/r/n]/n", db_list[read_num]) == 1) { 
  92. puts(db_list[read_num]); 
  93. read_num++; 
  94.  
  95. fclose(fp);  
  96.  

2. db_list.txt

 

 
  1. admin 
  2. book 

3.

 

 
  1. #include<sys/types.h> 
  2. #include<sys/wait.h> 
  3. #include<ctype.h> 
  4. #include<unistd.h> 
  5. #include<string.h> 
  6. #include<stdlib.h> 
  7. #include<stdio.h> 
  8.  
  9. //待備份的數(shù)據(jù)表文件(一個(gè)數(shù)據(jù)庫(kù)一行) 
  10. #define DB_FILE "./db_list" 
  11. //最多可以備份的數(shù)據(jù)庫(kù)數(shù)量 
  12. #define NUM 20 
  13. //一個(gè)數(shù)據(jù)庫(kù)名字的最長(zhǎng)字符數(shù) 
  14. #define LEN 128 
  15. //保存從DB_FILE中讀取到的數(shù)據(jù)庫(kù) 
  16. char *db_list[NUM]; 
  17. //從DB_FILE文件中讀取到的數(shù)據(jù)庫(kù)數(shù)量 
  18. int read_num; 
  19. //請(qǐng)求內(nèi)存函數(shù) 
  20. void malloc_dblist(); 
  21. //釋放內(nèi)存函數(shù) 
  22. void free_dblist(); 
  23. //讀取數(shù)據(jù)庫(kù)文件 
  24. void readDbFile(); 
  25.  
  26. int main(int argc, char *argv[]) { 
  27. pid_t pid; 
  28. int i; 
  29. char buf[LEN]; 
  30.  
  31. //從文件讀取數(shù)據(jù)庫(kù)信息 
  32. readDbFile(); 
  33.  
  34. pid = fork(); 
  35.  
  36. if (pid < 0) { 
  37. fprintf(stderr, "fork error/n"); 
  38. exit(1); 
  39.  
  40. switch (pid) { 
  41. case -1: 
  42. fprintf(stderr, "fork failed/n"); 
  43. exit(1); 
  44. case 0: 
  45. //子進(jìn)程進(jìn)行數(shù)據(jù)庫(kù)的備份 
  46. for (i = 0; i < read_num; i++) { 
  47. memset(buf, '/0', LEN); 
  48. sprintf(buf, "%s%s%s%s%s""mysqldump -uroot ", db_list[i], " > ", db_list[i], ".sql"); 
  49. system(buf); 
  50. printf("%d,%s/n", i, buf); 
  51. break
  52. //等待子進(jìn)程的結(jié)束 
  53. if (pid > 0) { 
  54. int stat_val; 
  55. pid_t child_pid; 
  56.  
  57. child_pid = wait(&stat_val); 
  58.  
  59. if (!WIFEXITED(stat_val)) { 
  60. fprintf(stdout, "Child terminated abnormaly/n"); 
  61. exit(1); 
  62.  
  63.  
  64. free_dblist(); 
  65.  
  66. exit(0); 
  67.  
  68.  
  69. void malloc_dblist() 
  70. int i = 0; 
  71. //malloc for db_list 
  72. for (i = 0; i < NUM; i++) { 
  73. db_list[i] = malloc(LEN); 
  74. memset(db_list[i], '/0', LEN); 
  75. void free_dblist() 
  76. int i; 
  77. //free db_list's memory 
  78. for (i = 0; i < NUM; i++) { 
  79. free(db_list[i]); 
  80.  
  81. void readDbFile() 
  82. FILE *fp; 
  83.  
  84. fp = fopen(DB_FILE, "r"); 
  85. if (!fp) { 
  86. fprintf(stderr, "%s not found/n", DB_FILE); 
  87. else { 
  88. malloc_dblist(); 
  89.  
  90. read_num = 0; 
  91. while (fscanf(fp, "%127[^/r/n]/n", db_list[read_num]) == 1) { 
  92. puts(db_list[read_num]); 
  93. read_num++; 
  94.  
  95. fclose(fp);  
  96.  

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久久免费看片| 日韩一级片免费观看| 黄色免费观看| 色婷婷亚洲精品| 狠狠干夜夜爽| 亚洲精品字幕| 五月天欧美精品| 成人黄色在线网站| 欧美在线观看视频网站| 2019日本中文字幕| 中文一区一区三区免费在线观看| 色综合久久久888| 日日摸日日碰夜夜爽无码| 动漫精品一区一码二码三码四码| 国产三级自拍视频| 国产欧美日韩视频在线| 精品久久一区二区三区| 国产精成人品免费观看| 66av99| 风韵丰满熟妇啪啪区老熟熟女| www日本高清视频| 成人免费在线| 韩剧1988在线观看免费完整版| chinesemodel无套啪啪| 国内精品视频在线| 国产xxxx视频| 精品中文在线| 第四色在线视频| 国产福利免费在线观看| 成人免费在线播放视频| 97视频在线看| 国产偷人妻精品一区| 国产精品va视频| 欧美色综合影院| 久青草免费视频| 丁香婷婷在线观看| 99亚洲乱人伦aⅴ精品| 精品国产一区二区三区av性色| 日韩电影在线观看电影| 91xx在线观看| 成人精品高清在线| 国产成人福利片| 国产精品va视频| 日韩视频第二页| 操人视频免费看| 色激情天天射综合网| 欧美夫妻性视频| 一区二区三区精品在线观看| 国产午夜一区二区| 欧美wwww| 久久久亚洲综合网站| 好吊日av在线| 欧美另类变人与禽xxxxx| 亚洲AV无码成人片在线观看| 神马影院我不卡| 91破解版在线看| av免费在线网址| 国产婷婷色综合av蜜臀av| av播放在线观看| 久久亚洲精品欧美| 欧美三级xxx| 精品无码国产污污污免费网站| 粉嫩一区二区三区在线看| 国产中文字幕网| 色阁综合av| 国产日韩欧美激情| 91精品欧美综合在线观看最新| 中文字幕在线观看日韩| 国产农村妇女毛片精品久久| 久久久久久久欧美精品| 精品久久中文| 亚洲精选一区二区三区| 久久久www成人免费精品张筱雨| 日批视频免费播放| 超碰在线国产97| 精品国产免费观看| 日本一区二区成人在线| 精品福利一区二区三区免费视频| 羞羞影院体验区| 99tv成人影院| 视频国产一区二区| 俺去啦最新官网| 亚洲人成网站在线| 国产一区二区三区四区尤物| 瑟瑟网站在线观看| 色综合色综合色综合色综合色综合| 成人国产精品一区二区| 不卡的av电影在线观看| 68精品久久久久久欧美| 在线观看无遮挡| 国产主播喷水一区二区| 手机在线电影一区| 欧美老头gaygay1069| 亚洲精品在线免费看| 五月综合激情婷婷六月色窝| 久久天天躁狠狠躁老女人| 久久久久久久久久久久久久av| 国产精品电影院| 麻豆av在线免费观看| 欧美日韩另类字幕中文| 国产精品成人品| 99久久国产综合色|国产精品| 伊人免费视频2| 天堂网www天堂在线网| 日韩精品卡通动漫网站| 中文综合在线观看| 欧美日韩专区在线| 日韩成人av网站| 亚洲国产成人精品女人久久久| 欧美日韩精品高清| 成人激情视频在线观看| 日韩精品高清在线观看| 国产suv精品一区| 热re99久久精品国产66热| 嫩草伊人久久精品少妇av杨幂| 亚洲婷婷在线| 亚洲在线播放| 国产一二三在线视频| 污视频网站在线免费观看| 亚洲视频在线观看一区二区三区| 欧美特大特白屁股xxxx| 国产亚洲精品美女久久久久| 亚洲第一黄色网址| 精品国产91乱码一区二区三区四区| 91色在线观看| 国产成a人亚洲精v品在线观看| 亚洲免费伊人电影| 欧美亚洲免费高清在线观看| 国内精品写真在线观看| 欧美日韩视频在线一区二区观看视频| 欧美日韩国产在线| 国产精品电影久久久久电影网| 最新天堂网www| 国产乱码77777777| 国产欧美日本亚洲精品一4区| 欧美色图片你懂的| 成人免费视频国产免费| av在线亚洲天堂| 亚洲天堂网视频| 99国产超薄丝袜足j在线观看| 一区二区三区|亚洲午夜| 91大神福利视频在线| 亚洲福利电影网| 日韩在线精品强乱中文字幕| 男女在线观看视频| xf在线a精品一区二区视频网站| 亚洲第一网站免费视频| 成人短视频软件网站大全app| 亚洲一区二区av| 免费亚洲视频| 缅甸午夜性猛交xxxx| 亚洲中国最大av网站| 理论片午夜视频在线观看| 91人妻一区二区三区| 免费不卡中文字幕视频| 久草在线资源站手机版| 国内精品久久久久伊人av| 精品人妻一区二区三区四区不卡| 日日夜夜精品视频天天综合网| www国产精品av| 亚洲视频综合网| 天堂网在线播放| 人妻熟妇乱又伦精品视频| 日韩精彩视频在线观看| 国产一区二区三区欧美| 成人在线视频福利| 丁香网亚洲国际| 亚洲一区二区三| 91手机视频在线观看| 亲子伦视频一区二区三区| 久国产精品韩国三级视频| 精品一区av| 久久99精品国产.久久久久久| 久久久久久国产精品无码| 欧美黑白配在线| 欧美在线视频一区二区三区| 最新中文字幕在线播放| 亚洲网站视频在线观看| 天天干在线观看| 国产伦精品一区二区三| 欧美大片免费久久精品三p| 国产一级在线观看www色| 久久久久久久精| 欧美激情在线一区| 欧美精品一区二区高清在线观看| 欧美性狂猛xxxxxbbbbb| 国产精品区一区二区三含羞草| 日韩av片永久免费网站| av在线免费观看网站| 亚洲精品在线免费播放| 国产精品免费在线| 国产精品日韩精品在线播放| 中文字幕不卡三区视频| 97成人精品区在线播放| 男人天堂网在线观看| 国内精品伊人久久久久av影院| 2019中文字幕在线观看| 日本老师69xxx| 91精品久久久久久久久久久久久| 国产福利视频在线观看| 日韩电影免费| 成人乱码一区二区三区| 香蕉久久99| 青青草原国产免费| 免费在线成人| 我和岳m愉情xxxⅹ视频| 亚洲草久电影| 国产精品91av| 国产亚洲人成a一在线v站| 欧美网站免费观看| 日本美女一区二区三区视频| 成r视频免费观看在线播放| 九九热播视频在线精品6| 欧美午夜寂寞| 国产精品黄色在线观看| 成人国产免费视频| 日韩av在线看| 久久精品视频99| 亚洲高清乱码| 久久精品国产v日韩v亚洲| 99精品久久免费看蜜臀剧情介绍| 欧美一级二级三级蜜桃| 亚洲人av在线| 久艹视频在线观看| 日本高清视频网站www| 91精品国产777在线观看| 天堂中文av在线资源库| 91蝌蚪porny九色| 欧洲国产精品| seba5欧美综合另类| 亚洲欧洲在线免费| 日本一区二区三区免费看| 亚洲国产精品自拍| www.精品久久| 69堂亚洲精品首页| 久久久久久久久久久久久久久| 2022国产麻豆剧果冻传媒剧情| 久久久精品久久| 91精品国产吴梦梦| 一级黄色在线观看| 精品亚洲aⅴ乱码一区二区三区| 亚洲精品天堂| 三级a三级三级三级a十八发禁止| 国产www视频在线观看| 日韩免费三级| 国产精品福利久久久| 青娱乐国产精品| 最近日韩免费视频| 欧美高清在线观看| 宅男噜噜噜66国产免费观看| 含羞草激情视频| 五月婷婷激情网| 在线观看日韩av先锋影音电影院| 欧美一区观看| 精品在线亚洲视频| 最新中文字幕视频| 亚洲人辣妹窥探嘘嘘| 亚洲欧美国产va在线影院| 免费网站黄在线观看| 羞羞漫画网18久久app| 91精品久久久久久综合乱菊| 精品无码人妻一区二区免费蜜桃| 51xx午夜影福利| 激情中文字幕| 91超碰碰碰碰久久久久久综合| 欧美日韩性视频| 亚洲美女屁股眼交| 欧美视频专区一二在线观看| 亚洲一区图片| 欧美电影在线观看网站| 亚洲经典在线看| 亚洲av无一区二区三区| 日日干天夜夜| 日韩一区自拍| 国产一级在线观看视频| 国产在线视频你懂得| 男人插曲女人的视频| 蜜臀久久99精品久久久无需会员| 六月婷婷综合网| 91久久精品日日躁夜夜躁欧美| 欧美精品在线网站| 成人av资源网| www.久久久久爱免| 艳妇乳肉亭妇荡乳av| 亚洲特级片在线| 天堂va久久久噜噜噜久久va| 日本网站在线免费观看| 国产xxxx视频| 18深夜在线观看免费视频| 91毛片在线观看| 91精品久久久久久综合五月天| 国产精品大片免费观看| 一区二区三区四区蜜桃| 亚洲精品久久久久久久久久久| av片免费观看| 欧美理论片在线| 国产男女免费视频| 婷婷免费在线观看| 日韩一区二区免费在线观看| 国产男女猛烈无遮挡免费视频| 久久一级黄色片| 欧美一卡二卡在线观看| 98色花堂精品视频在线观看| 国产成人一区| 精产国品自在线www| 欧美日韩国产在线一区| 日本黄色录像视频| 欧美日韩三级一区二区| 亚洲最大色网站| 日本中文字幕视频| 日本高清视色| 亚洲一区二区少妇| 午夜精产品一区二区在线观看的| 欧美日产国产成人免费图片| 在线免费观看黄色网址| 久久久久久黄| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 国产亚洲精品自拍| av无码精品一区二区三区宅噜噜| 黄色成人一级片| 午夜一区二区三区四区| 亚欧洲精品在线视频| 99精品国产一区二区| 天堂av免费观看| 国产精品.com| 国产亚洲视频在线观看| 91传媒在线免费观看| 99久久免费国产精精品|