Welcome 微信登录

首页 / 数据库 / MySQL / Linux 怎么通过Shell脚本定时备份MySQL数据库

为了应对意外,备份数据库是非常必须的。备份脚本怎么写呢?在写脚本之前,先假设mysql的bin目录是:/usr/local/mysql/bin/
  1. PATH=$PATH:$HOME/bin  
  2. #备份目录  
  3. BackupPath="/home/mysql/backup"  
  4. #备份文件名  
  5. BackupFile="dbbackup"$(date +%y%m%d_%H)".sql"  
  6.   
  7. #数据库的用户名及密码  
  8. user="root"  
  9. passwd="Welcome@123"  
  10.   
  11.   
  12. #检查备份目录是否存在  
  13. if !(test -d $BackupPath)  
  14. then  
  15.   mkdir $BackupPath  
  16. fi  
  17.   
  18.   
  19. #使用mysql提供的mysqldump备份脚本  
  20. /usr/local/mysql/bin/mysqldump -u$user -p$passwd --allow-keywords --default-character-set=utf8 --set-charset -R -A --master-data=2 >"$BackupPath"/"$BackupFile"  
  21.   
  22. #删除三个月前的备份文件  
  23. find "$BackupPath" -name "dbbackup*[log,sql]" -type f -mtime +3 -exec rm -rf {} ;  
将上面的脚本保存为 .backup.sh 加入到 crontab 中即可。具体怎么加到计划任务,请参阅:Linux下Nginx如何切割访问日志? (见 http://www.linuxidc.com/Linux/2011-10/46321.htm) 和 Linux crontab命令小解 (见 http://www.linuxidc.com/Linux/2011-10/46322.htm ) Linux下的MySQL自动备份工具-第二版MySQL事件调度器详解相关资讯      MySQL教程  LinuxShell 
  • 30分钟带你快速入门MySQL教程  (02月03日)
  • MySQL教程:关于I/O内存方面的一些  (01月24日)
  • Linux/Unix shell 自动 FTP 备份档  (02/09/2013 11:58:23)
  • MySQL教程:关于checkpoint机制  (01月24日)
  • MySQL::Sandbox  (04/14/2013 08:03:38)
  • CentOS上开启MySQL远程访问权限  (01/29/2013 10:58:40)
本文评论 查看全部评论 (0)
表情: 姓名: 字数