Mysql自动全量备份脚本

  • 作者
  • KING

数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。轻则程序逻辑出现BUG,重则程序崩溃,数据丢失。造成数据丢失的原因,主要有程序错误、人为错误、计算机失败、磁盘失败、灾难(如起火、地震)和偷窃。


数据库日常备份工作就显得非常重要。有了备份,就是在出现问题时,及时恢复。备份数据库备份的分类:


从物理与逻辑的角度,备份可分为


物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份


物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)


冷备份:是关闭数据库的时候进行的


热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件


逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份


从数据库的备份策略角度,备份可分为


完全备份:每次对数据进行完整的备份


差异备份:备份那些自从上次完全备份之后被修改过的文件


增量备份:只有那些在上次完全备份或者增量备份后修改的文件才会被备份




MySQL完全备份


完全备份是对整个数据库的备份、数据库结构和文件结构的备份


完全备份保存的是备份完成时刻的数据库


完全备份是增量备份的基础


完全备份的优点


备份与恢复操作简单方便


完全备份的缺点


数据存在大量的重复


占用大量的备份空间


备份与恢复时间长




下面就是一个自动备份数据的脚本内容,供参考.


---------------------
bakTime=$(date "+%Y_%m_%d_%H")        
fileName=${bakTime}_bak.sql
echo $fileName
mysqldump -ureversi -p1qaz2wsx reversi_mapping > /usr/local/db_bak/$fileName 2> /usr/local/db_bak/log/$fileName.log
find /usr/local/db_bak/*.sql -name "*_bak.sql" -mtime +3 -exec rm -rf {} \;      //文件保留3天,则+3,对应修改即可.


以上脚本存为文件mysql_dump.sh

并能文件加上权限 chmod +x mysql_dump.sh


接下来,将该脚本,加入crontab中,让其定时()每日23:00执行即可.

vim /etc/crontab

在该文件的最后加上如下内容.

30 23 * * * root /root/my_shell/mysql_dump.sh



Mysql自动全量备份脚本

数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。轻则程序逻辑出现BUG,重则程序崩溃,数据丢失。造成数据丢失的原因,主要有程序错误、人为错误、计算机失败、磁盘失败、灾难(如起火、地震)和偷窃。


数据库日常备份工作就显得非常重要。有了备份,就是在出现问题时,及时恢复。备份数据库备份的分类:


从物理与逻辑的角度,备份可分为


物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份


物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)


冷备份:是关闭数据库的时候进行的


热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件


逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份


从数据库的备份策略角度,备份可分为


完全备份:每次对数据进行完整的备份


差异备份:备份那些自从上次完全备份之后被修改过的文件


增量备份:只有那些在上次完全备份或者增量备份后修改的文件才会被备份




MySQL完全备份


完全备份是对整个数据库的备份、数据库结构和文件结构的备份


完全备份保存的是备份完成时刻的数据库


完全备份是增量备份的基础


完全备份的优点


备份与恢复操作简单方便


完全备份的缺点


数据存在大量的重复


占用大量的备份空间


备份与恢复时间长




下面就是一个自动备份数据的脚本内容,供参考.


---------------------
bakTime=$(date "+%Y_%m_%d_%H")        
fileName=${bakTime}_bak.sql
echo $fileName
mysqldump -ureversi -p1qaz2wsx reversi_mapping > /usr/local/db_bak/$fileName 2> /usr/local/db_bak/log/$fileName.log
find /usr/local/db_bak/*.sql -name "*_bak.sql" -mtime +3 -exec rm -rf {} \;      //文件保留3天,则+3,对应修改即可.


以上脚本存为文件mysql_dump.sh

并能文件加上权限 chmod +x mysql_dump.sh


接下来,将该脚本,加入crontab中,让其定时()每日23:00执行即可.

vim /etc/crontab

在该文件的最后加上如下内容.

30 23 * * * root /root/my_shell/mysql_dump.sh