备份MySql数据库Shell【Linux】
备份数据库shell
本环境 操作系统 ubuntu 数据库 Mysql
创建shell脚本,复制以下命令,修改对应的参数
# 数据库信息
DB_HOST="127.0.0.1" #数据库服务器ip
DB_PORT="3306" # 端口
DB_USER="root" #用户名
DB_PASS="root" #密码
DB_NAME="database_name" #数据库名
DB_DIR="/usr/local/mysql" #数据库所在目录
BACKUP_DIR="/usr/local/mysql_backup" # 请将此路径替换为你想要备份到的指定目录
# 备份文件名,使用当前日期和时间命名
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}-$(date +%Y%m%d%H%M%S).sql"
# 确保备份目录存在
mkdir -p "${BACKUP_DIR}"
# 执行备份操作
mysqldump -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" > "${BACKUP_FILE}"
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "Database ${DB_NAME} backup completed successfully to ${BACKUP_FILE}"
else
echo "Error occurred during backup of database ${DB_NAME}"
fi
# 删除30天前的备份文件
echo "Removing old backup files older than 30 days..."
find "${BACKUP_DIR}" -type f -name "*.sql" -mtime +30 -exec rm -f {} \;
echo "Old backup files removed successfully."