原标题:创建MySQL备份bash脚本
创建MySQL备份脚本
现在,将以下内容复制到脚本文件中(如/backup/mysql backup.sh),并保存在Linux系统上。之后,根据你的环境在脚本的“Update below values”部分中更改一些配置值
#!/bin/bash
################################################################
##
## MySQL DatabaseBackup
## Written By: Rahul Kumar
## URL: https://tecadmin.net/bash--mysql-database-backup/
## LastUpdate: Jan 05, 2019
##
################################################################
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date+"%d%b%Y"`
################################################################
################## Updatebelow 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 ofdays tokeep localbackup 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
### Endof ####
创建或下载脚本后,请确保设置执行权限才能正常运行。
$ 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后,脚本将自动进行备份,但请需要每周或每月检查以确保已经备份。返回搜狐,查看更多
责任编辑: