,mysqldump备份指定mysql数据库脚本

  

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

,,实现功能:

,,,1备份指定的数据库

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

# !/bin/bash   #   #,文件名:mysql_bak.sh   #   #数据库备份文件的目录,若没有请创建目录或指定备份目录   BACKUP_DIR="/贝克/mysqlbak "   #指mysql所定在主机的主机名   DB_HOSTNAME='主机'   #指定mysql登录用户名   DB_USERNAME=' backupuser '   #指定mysql登录密码   DB_PASSWORD='密码'   #指定备份的数据库名   DB_NAME=" dbname”   #定义当前日期为变量   当前日期=$ (date  + Y % m % d $ " % H”)   #定义删除N天前的文件变量   DEL_DAYS_BEFORE_FILES=7   #指定,mysqldump所在目录   MYSQLDUMP_DIR="/usr/bin "   #备份指定数据库   if 美元($ MYSQLDUMP_DIR/mysqldump  -h  $ {DB_HOSTNAME}, {DB_USERNAME},美元- u - p $ {DB_PASSWORD}, {DB_NAME},美元祝辞,“$ {BACKUP_DIR}/{DB_NAME} _{当前日期}. sql美元");   cd  $ {BACKUP_DIR}   gzip  $ {DB_NAME} _{当前日期}. sql   echo “${当前日期}——Backup  database  $ {DB_NAME},成功!”   其他的   echo “${当前日期}——Backup  database  $ {DB_NAME},失败”   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(主机字段建议指定IP)

,,,,在创建用户“backupuser”@“%”被“密码”,

,,,,在格兰特选择、锁表,文件,重新加载*。*“backupuser”@“%”;

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

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

,4,赋予脚本执行权限

,,,chmod + x美元,mysql_bak.sh

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

,,,,,, Redhat下操作

,,,,,, crontab -e 美元;

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

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

,,,,,* * * *,2 $ PWD/mysql_bak。sh,比;BACKUP_DIR/mysql_bak美元。日志

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


,mysqldump备份指定mysql数据库脚本