如何实现MySQL数据库备份?可以使用用于MySQL数据库备份的bash脚本。在本篇文章中,我们将介绍一个简单的bash脚本用于备份MySQL数据库,将备份归档并存储在本地系统上。此bash脚本还将从磁盘中删除旧备份以释放空间。还可以指定在本地磁盘上保留备份的天数。
创建MySQL备份脚本
现在,将以下内容复制到脚本文件中(如/backup/mysql backup.sh),并保存在Linux系统上。之后,根据你的环境在脚本的“Update below values”部分中更改一些配置值
#!/bin/bash ################################################################ ## ## MySQL Database Backup Script ## Written By: Rahul Kumar ## URL: https://tecadmin.net/bash-script-mysql-database-backup/ ## Last Update: Jan 05, 2019 ## ################################################################ export PATH=/bin:/usr/bin:/usr/local/bin TODAY=`date +"%d%b%Y"` ################################################################ ################## Update below values ######################## DB_BACKUP_PATH='/backup/dbbackup' MYSQL_HOST='localhost' MYSQL_PORT='3306' MYSQL_USER='root' MYSQL_PASSWORD='mysecret' DATABASE_NAME='mydb' BACKUP_RETAIN_DAYS=30 ## Number of days to keep local backup copy ################################################################# mkdir -p ${DB_BACKUP_PATH}/${TODAY} echo "Backup started for database - ${DATABASE_NAME}" mysqldump -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz if [ $? -eq 0 ]; then echo "Database backup successfully completed" else echo "Error found during backup" fi ##### Remove backups older than {BACKUP_RETAIN_DAYS} days ##### DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"` if [ ! -z ${DB_BACKUP_PATH} ]; then cd ${DB_BACKUP_PATH} if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then rm -rf ${DBDELDATE} fi fi ### End of script ####
创建或下载脚本后,请确保设置执行权限才能正常运行。
$ chmod + x /backup/mysql-backup.sh
在Crontab中安排脚本
现在,在crontab中安排脚本每天运行并定期完成备份。使用crontab -e命令在系统上编辑crontab 。添加以下设置以在早上2点启用备份。
在crontab中调度脚本
现在在crontab中安排脚本每天运行,并定期完成备份。使用crontab-e命令在系统上编辑crontab。添加以下设置以在早上2点启用备份。
0 2 * * * root /backup/mysql-backup.sh
保存你的crontab文件。启用cron后,脚本将自动进行备份,但请需要每周或每月检查以确保已经备份。
本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的Linux视频教程栏目!
以上就是用于MySQL数据库备份的简单bash脚本的介绍的详细内容,更多请关注名铺123其它相关文章!