linux-tutorial/codes/linux/soft/mysql-backup.sh

40 lines
1.5 KiB
Bash
Raw Normal View History

2019-11-26 21:13:05 +08:00
#!/usr/bin/env bash
2020-04-03 15:15:02 +08:00
# -----------------------------------------------------------------------------------------------------
# Mysql 备份脚本
# 可以通过 crond 服务,设置称为定时执行脚本:
# 1执行 crontab -e 编辑定时执行任务59 23 * * * /home/scripts/mysql-backup.sh
# 2vi /etc/crontab编辑 crontab 文件后保存,可以通过 crontab -l 查看
# @author Zhang Peng
# -----------------------------------------------------------------------------------------------------
2019-11-26 21:13:05 +08:00
2020-04-03 15:15:02 +08:00
# ------------------------------------------------------------------------------ env
# Mysql Host
export ENV_MYSQL_HOST="127.0.0.1"
# Mysql 端口
export ENV_MYSQL_PORT=3306
# Mysql 用户名
export ENV_MYSQL_USERNAME=root
# Mysql 密码
export ENV_MYSQL_PASSWORD=root
# Mysql 备份文件最大数量
export ENV_BACKUP_MAX_NUM=7
# 备份模式:备份所有数据库(--all-databases|备份指定数据库列表
export ENV_MYSQL_DATABASES=--all-databases
# 备份路径
export ENV_MYSQL_BACKUP_DIR=/var/lib/mysql/backup
# 备份日志路径
export ENV_LOG_PATH="${ENV_MYSQL_BACKUP_DIR}/mysql-backup.log"
2019-11-26 21:13:05 +08:00
2020-04-03 15:15:02 +08:00
# ------------------------------------------------------------------------------ libs
LINUX_SCRIPTS_LIB_DIR=`dirname ${BASH_SOURCE[0]}`
if [[ ! -x ${LINUX_SCRIPTS_LIB_DIR}/lib/mysql.sh ]]; then
echo "${LINUX_SCRIPTS_LIB_DIR}/lib/mysql.sh not exists!"
exit 1
2019-11-26 21:13:05 +08:00
fi
2020-04-03 15:15:02 +08:00
source ${LINUX_SCRIPTS_LIB_DIR}/lib/mysql.sh
# ------------------------------------------------------------------------------ main
# 执行备份方法
backupMysql