国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

一個簡單的MySQL備份Shell腳本

2024-07-24 13:07:40
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了一個簡單的MySQL備份Shell腳本,本文直接給出代碼實例,需要的朋友可以參考下

 

 
  1. #!/bin/bash 
  2. #this is a script of mysql backup  
  3. if [ ! -d /mydata/data1/backup ] ;then 
  4. mkdir /mydata/data1/backup 
  5. fi 
  6. cd /mydata/data1/backup 
  7. file=$(find . -type f -mtime -7 | grep .*all.sql) #查找7天內是否有備份的文件 
  8. echo $file 
  9. if [ -z $file ] ;then 
  10. echo "backup all databases..." 
  11. backupfile=$(date +%F-%H-%M-%S) 
  12. mysqldump -uroot --lock-all-tables --flush-logs --master-data=2 --all-databases > /mydata/data1/backup/"$backupfile-all.sql" 
  13. if [ $? -eq 0 ] ;then 
  14. echo "Accomplish,file is $backupfile-all.sql !" 
  15. else 
  16. echo " Failure !!! " 
  17. fi 
  18. else #查找倒數第二大的二進制文件,作增量備份 
  19. cd .. 
  20. echo "All database backups ,now start doing incremental backups!" 
  21. a=1  
  22. b=1  
  23. for file in $(ls |grep mysql-bin |grep -v index);do 
  24. num=$(echo $file |cut -d. -f2 ) 
  25. if [ $num -gt $a ];then 
  26. a=$num 
  27. fi 
  28. done 
  29. unset num file 
  30. num=1  
  31. for file in $(ls |grep mysql-bin |grep -v index);do 
  32. num=$(echo $file |cut -d. -f2 ) 
  33. if [ $num -gt $b -a $num -ne $a ] ; then 
  34. b=$num 
  35. tmp=$file 
  36. fi 
  37. done 
  38. file1=$(echo $tmp|cut -d. -f1) 
  39. file2=$(echo $tmp|cut -d. -f2) 
  40. mysqlbinlog $tmp > /mydata/data1/backup/"$file1-$file2.sql" 
  41. if [ $? -eq 0 ] ;then 
  42. echo "Backup completed,file is "$file1-$file2.sql"" 
  43. fi 
  44. fi 

說明:此腳本每七天做一次完全備份,以后每天做一次增量備份,完全備份使用mysqldump客戶端工具,增量備份使用mysqlbinlog備份其二進制日志文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭水| 登封市| 类乌齐县| 清水县| 巢湖市| 图木舒克市| 营山县| 湟源县| 福建省| 兴宁市| 元谋县| 永善县| 荆门市| 成都市| 扶余县| 建昌县| 汽车| 昆明市| 彭山县| 东海县| 大冶市| 沙田区| 灵寿县| 上蔡县| 三明市| 嘉祥县| 芜湖县| 赣榆县| 黄浦区| 安徽省| 辛集市| 临夏县| 盐津县| 扶余县| 九寨沟县| 枣庄市| 上杭县| 九台市| 囊谦县| 浮梁县| 新竹市|