MySQL作为目前最为流行的关系型数据库,备份数据库是一项非常重要的工作。在Linux系统中,可以通过编写shell脚本实现自动化备份,无需手动进行操作,极大地提高了工作效率。本文将介绍如何编写一个自动化备份MySQL数据库的shell脚本。
步骤如下:
1、创建备份文件夹
mkdir /backup/mysql
2、设置备份文件名
backupFileName="backup-"$(date +%Y%m%d%H%M)".sql"
通过数值为当前日期时间加上一个“backup-”前缀来创建备份文件名。
3、执行备份操作
cd /backup/mysqlmysqldump -u root -p123456 dbname >$backupFileName
上述脚本会将dbname数据库备份到备份文件夹中,并命名为$backupFileName。
4、压缩备份文件
tar -zcvf $backupFileName.tar.gz $backupFileNamerm -f /backup/mysql/$backupFileName
将备份文件压缩成.tar.gz格式,以便在备份的同时占用更少的磁盘空间。备份文件压缩完成后,删除原文件。
5、定时执行备份shell脚本
在Linux系统中,可以使用crontab命令实现定时执行备份shell脚本的功能。在终端中输入以下命令进行编辑:
crontab -e
接着在cron表达式中加入以下内容,以实现每天自动备份数据库的功能:
0 1 * * * /bin/bash /backup/mysql/backup.sh >/dev/null 2>&1
6、完整代码如下:
#!/bin/bashmkdir /backup/mysqlbackupFileName="backup-"$(date +%Y%m%d%H%M)".sql"cd /backup/mysql mysqldump -u root -p123456 dbname >$backupFileNametar -zcf $backupFileName.tar.gz $backupFileNamerm -f /backup/mysql/$backupFileName
通过以上步骤,即可编写一个自动化备份MySQL数据库的shell脚本,并进行定时执行。在日常使用中,可以根据需求进行修改。