在之前的文件中杜老师推荐了两款云主机面板,有小伙伴留言说因服务器配置比较低,未使用云主机面板,一直为数据库备份问题困扰。杜老师之前工作的环境也是没有面板,编写过相关的备份脚本,在此文中分享给需要的小伙伴们~
设置环境变量
1 | #!/bin/bash |
注意:需要设置环境变量,以便脚本可以找到 MySQL 数据库。在脚本中,添加以上内容。
创建备份目录
1 | # Create backup directory |
注意:创建一个目录,以存储备份的文件。在脚本中,添加以上内容。
备份 MySQL 数据库
1 | # Backup database |
注意:使用 mysqldump
命令备份数据库。在脚本中,添加以上内容。
检查备份是否成功
1 | # Check if backup file exists |
注意:检查备份文件是否创建。在脚本中,添加以上内容。
压缩备份文件
1 | # Compress backup file |
注意:为了节省空间,可使用 gzip
命令压缩备份文件。在脚本中,添加以上内容。
删除 MySQL 旧备份
1 | # Remove old backups |
注意:删除旧备份文件以节省空间。在脚本中,添加以上内容。
设置定时任务
最后,可使用 crontab
命令设置定时任务,以便脚本定期运行。在终端中输入以下命令:
1 | crontab -e |
在打开的编辑器中,添加以下行的内容,比如以每天凌晨的一点运行脚本。保存并退出编辑器:
1 | 0 1 * * * /path/to/your/backup_script.sh |
还有哪些开源工具
除上面脚本外,还有一些开源「有商业版」工具也可实现 MySQL 数据库备份,供需要的小伙伴们参考选择:
名称 | 描述 |
---|---|
mysqldump | mysqldump 是 MySQL 官方提供的备份工具,可将 MySQL 数据库的数据和结构导出为 SQL 文件。 |
XtraBackup | XtraBackup 是一个 Percona 提供的备份工具,可在线备份 MySQL 数据,提供增量备份、压缩功能。 |
Zmanda Recovery Manager | Zmanda Recovery Manager 是一款商业的备份和恢复解决方案,可支持 MySQL 和其它数据库。提供完整备份、增量备份、多种存储介质、自动化备份和恢复等功能。 |
mydumper | mydumper 是一个 MySQL 官方派生的高性能 MySQL 备份工具,支持并行备份,可更快地备份大型 MySQL 数据库。 |
条评论