logo
关于我们

技术分享

技术分享 Mysql备份的脚本

Mysql备份的脚本

2020-06-09

可以将这个脚本放进crontab,每天凌晨执行一次,自动备份 

这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。

  1. #!/bin/bash 

  2. #This is a ShellScript For Auto DB Backup 

  3. #Powered by aspbiz 

  4. #2004-09 


  5. #Setting 

  6. #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 

  7. #默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy 

  8. #默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz 

  9. DBName=mysql 

  10. DBUser=root 

  11. DBPasswd= 

  12. BackupPath=/root/ 

  13. LogFile=/root/db.log 

  14. DBPath=/var/lib/mysql/ 

  15. #BackupMethod=mysqldump 

  16. #BackupMethod=mysqlhotcopy 

  17. #BackupMethod=tar 

  18. #Setting End 



  19. NewFile="$BackupPath"db$(date +%y%m%d).tgz 

  20. DumpFile="$BackupPath"db$(date +%y%m%d) 

  21. OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz 


  22. echo "-------------------------------------------" >;>; $LogFile 

  23. echo $(date +"%y-%m-%d %H:%M:%S") >;>; $LogFile 

  24. echo "--------------------------" >;>; $LogFile 

  25. #Delete Old File 

  26. if [ -f $OldFile ] 

  27. then 

  28. rm -f $OldFile >;>; $LogFile 2>;&1 

  29. echo "[$OldFile]Delete Old File Success!" >;>; $LogFile 

  30. else 

  31. echo "[$OldFile]No Old Backup File!" >;>; $LogFile 

  32. fi 


  33. if [ -f $NewFile ] 

  34. then 

  35. echo "[$NewFile]The Backup File is exists,Can't Backup!" >;>; $LogFile 

  36. else 

  37. case $BackupMethod in 

  38. mysqldump) 

  39. if [ -z $DBPasswd ] 

  40. then 

  41. mysqldump -u $DBUser --opt $DBName >; $DumpFile 

  42. else 

  43. mysqldump -u $DBUser -p$DBPasswd --opt $DBName >; $DumpFile 

  44. fi 

  45. tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1 

  46. echo "[$NewFile]Backup Success!" >;>; $LogFile 

  47. rm -rf $DumpFile 

  48. ;; 

  49. mysqlhotcopy) 

  50. rm -rf $DumpFile 

  51. mkdir $DumpFile 

  52. if [ -z $DBPasswd ] 

  53. then 

  54. mysqlhotcopy -u $DBUser $DBName $DumpFile >;>; $LogFile 2>;&1 

  55. else 

  56. mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >;>;$LogFile 2>;&1 

  57. fi 

  58. tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1 

  59. echo "[$NewFile]Backup Success!" >;>; $LogFile 

  60. rm -rf $DumpFile 

  61. ;; 

  62. *) 

  63. /etc/init.d/mysqld stop >;/dev/null 2>;&1 

  64. tar czvf $NewFile $DBPath$DBName >;>; $LogFile 2>;&1 

  65. /etc/init.d/mysqld start >;/dev/null 2>;&1 

  66. echo "[$NewFile]Backup Success!" >;>; $LogFile 

  67. ;; 

  68. esac 

  69. fi 


  70. echo "-------------------------------------------" >;>; $LogFile


云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 其他

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载