mysqldump备份指定mysql数据库脚本
admin
2023-05-17 08:02:34
0

    前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。

    实现功能:

      1 备份指定的数据库

      2 删除指定天数前的备份文件,默认设定了7天

#!/bin/bash
#
# 文件名:mysql_bak.sh
#
#数据库备份文件的目录,若没有请创建目录或指定备份目录
BACKUP_DIR="/bak/mysqlbak"
#指定mysql所在主机的主机名
DB_HOSTNAME='hostname'
#指定mysql登录用户名
DB_USERNAME='backupuser'
#指定mysql登录密码
DB_PASSWORD='password'
#指定备份的数据库名
DB_NAME="dbname"
#定义当前日期为变量
CURRENT_DATE=$(date +"%Y%m%d$H")
#定义删除N天前的文件变量
DEL_DAYS_BEFORE_FILES=7
#指定mysqldump所在目录
MYSQLDUMP_DIR="/usr/bin"
#备份指定数据库
if $($MYSQLDUMP_DIR/mysqldump -h ${DB_HOSTNAME} -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_NAME} > "${BACKUP_DIR}/${DB_NAME}_${CURRENT_DATE}.sql");then
cd ${BACKUP_DIR}
gzip ${DB_NAME}_${CURRENT_DATE}.sql
echo "${CURRENT_DATE}--Backup database ${DB_NAME} successfully!"
else
echo "${CURRENT_DATE}--Backup database ${DB_NAME} unsuccessfully"
fi
#删除指定N天前的备份文件
find ${BACKUP_DIR} -name "${DB_NAME}_*.sql.gz" -type f -mtime +${DEL_DAYS_BEFORE_FILES} -exec rm {} \; > /dev/null 2>&1


关于mysql备份脚本的使用说明:

   1 备份操作是使用mysqldump命令完成,默认设置保留近7天备份文件

   2 建议创建备份使用的用户 backupuser(host字段建议指定IP)

       >CREATE USER 'backupuser'@'%' IDENTIFIED BY 'password';

       >GRANT SELECT,LOCK TABLES,FILE,RELOAD ON *.* TO 'backupuser'@'%';

       (个人认为这些权限足够了,若不够自行添加)

   3 注意需要在脚本中指定数据库备份目录

   4 赋予脚本执行权限

       $chmod +x mysql_bak.sh

   5 创建定时任务,比如每天凌晨两点执行备份操作

      Redhat下操作

      $crontab -e 

      # $PWD是指备份脚本所在路径

      # $BACKUP_DIR是指数据库备份目录

          * 2 * * * $PWD/mysql_bak.sh &> $BACKUP_DIR/mysql_bak.log

注意:运行脚本用户对所操作目录的权限设置。


相关内容

热门资讯

“你头发都白了”,同守广西边防... “你头发都白了,模样还是没变,就是没有年轻时候那么帅了。”
小米手机再度涨价:旗舰最高上涨... 8月2日,小米商城价格更新,多款主力机型上调300元至500元不等。其中,REDMI Turbo 5...
“真实社交”售卖“优先访问权”... 据了解,购买这项服务的企业能够直接接入“真实社交”数据源,辅以人工智能技术解读信息,进而提前把握市场...
原创 狂... 英伟达正式官宣与 Safe Superintelligence(SSI)达成长期战略合作,总投资规模...
马斯克最新预言来了,钱要没用了... “以法莲是商人,手里有诡诈的天平,爱行欺骗!”——圣经 据红星新闻报道,本月,埃隆·马斯克在接受专...
遭欧盟22国“围攻”,西班牙怒... 西班牙首相桑切斯与22个欧盟成员国领导人激烈交锋后,由轮值主席国爱尔兰正式召集,欧盟将于本周二(8月...
创维电视42d9指示灯不亮 1、可能为电源插座插头的故障。2、可能为电源连接线的故障。3、可能为电视内部开关电源电路出了故障。4...
电视不通电指示灯不亮是什么原因 因为电源适配器发生了故障,就会导致电视不通电指示灯不亮;当然了,电视机也会因为开机的电源电路发生异常...
天然气灶电子打火一直不停 天然气灶电子打火一直不停发生这个现象大概率是因为打火装置发生了故障。天然气灶是通过高压电子发动打火装...
天然气打火灶打不着火 1、可能是电池没有电或者是天然气没有气了。2、天然气的管道出现了堵塞,就会导致天然气打火灶打不着火的...