龙空技术网

创建MySQL备份bash脚本

IT生涯 323

前言:

现时咱们对“linux自动备份mysql脚本”大体比较讲究,看官们都想要剖析一些“linux自动备份mysql脚本”的相关文章。那么小编同时在网上网罗了一些对于“linux自动备份mysql脚本””的相关资讯,希望各位老铁们能喜欢,咱们一起来了解一下吧!

创建MySQL备份脚本

现在,将以下内容复制到脚本文件中(如/backup/mysql backup.sh),并保存在Linux系统上。之后,根据你的环境在脚本的“Update below values”部分中更改一些配置值

#!/bin/bash

################################################################

##

## MySQL Database Backup Script

## Written By: Rahul Kumar

## URL:

## 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后,脚本将自动进行备份,但请需要每周或每月检查以确保已经备份。

标签: #linux自动备份mysql脚本 #mysql导出sql脚本