linux shell脚本备份mysql数据库

#!/bin/sh

# 备份数据库

# Mysql 用户名密码
MYSQL_USER=root
MYSQL_PASS=root
BACKUP_DIR=/data/backup/mysql
DATA_DIR=/data/backup/dbdata

# 查询mysql中所有数据库名字
SQL_STRING="SELECT SCHEMA_NAME AS db FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN (‘mysql‘, ‘information_schema‘, ‘performance_schema‘);"

DBS=$(echo $SQL_STRING | mysql -u$MYSQL_USER -p$MYSQL_PASS -Bs)

# 当前日期
DATE=$(date -d ‘+0 days‘ +%Y%m%d%H%M)
# 打包名称
ZIP_NAME="mysql_"$DATE".gz"

# 删除一个月之前的数据库备份
find $BACKUP_DIR -name "mysql_*.gz" -type f -mtime +30 -exec rm {} \;

# 循环备份数据库
for DBNAME in $DBS
do
    if [ ! -d ${DATA_DIR} ]; then
        mkdir -p ${DATA_DIR}
    fi
    SQL_FILE=$DBNAME-$DATE".sql"
    /usr/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS $DBNAME > $DATA_DIR/$SQL_FILE
done

# tar打包所有sql文件
tar -czvPf $BACKUP_DIR/$ZIP_NAME $DATA_DIR

# 打包成功后删除sql文件
if [ $? = 0 ]; then
    rm -r $DATA_DIR
fi

  

时间: 2024-10-05 03:08:58

linux shell脚本备份mysql数据库的相关文章

Shell 脚本备份MySQL数据库

(1)思路 <1>安装MySQL数据库 <2>创建数据库,表,插入数据 <3>授权一个用于备份数据库的用户名和密码 <4>备份数据库的命令: mysqldump -u root -p 1234 -d MySQLDB > 1.sql <5>引入if语句实现备份全部数据库 <6>引入for循环语句,实现备份多个数据库 (2)实战案例 编写MySQL数据库备份脚本,可以实现备份任意数据库,输入A,就备份A库,输入B,就备份B库,输入C

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

使用shell脚本调用mysql数据库存储过程,并设置定时任务

本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调用mysql数据库存储过程,如下: #!/bin/bash#0 1 * * * sh /home/drmTrans3/rj_proc.shhost1=127.0.0.1user=systempasswd=linuxport=3306mysql -h${host1} -u${user} -p${pas

Linux 每天自动备份mysql数据库的方法

Linux 每天自动备份mysql数据库的方法 作者: 字体:[增加 减小] 类型:转载 linux下为了安全有时候需要自动备份mysql数据库,下面是具体的实现步骤. /usr/bin为mysql安装目录 建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi autobackupmysql.sh 在脚本中加入如下内容: filename=`date +%Y%m%d` /usr/bin/mysqldump -op

SHELL 自动备份MYSQL数据库(备份单个数据库及所有数据库)

SHELL 自动备份MYSQL数据库 备份单个数据库及所有数据库 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 部分截图: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657

linux下远程备份mysql数据库

本次环境主要是远程备份mysql数据库的一种常见方法,对于其他知识不做太多讲解. 环境需求: 两台linux:一台mysql数据库服务器,另一台当作客户端用来做备份. 环境目标: 实现mysql数据库的远程备份 例子: (A为服务端ip为192.168.1.1    B为客户端ip为192.168.1.2) 1.首先你得在A上建立一个数据库(建立数据库名称我以 xianyu 为例) create database xianyu;   (建立数据库xianyu) 2.在A上建立一个数据库用户用来做

利用Python脚本备份mysql数据库

近期利用空余时间学习了python的一些基础内容,用来实践,做了一个Mysql备份的脚本,按日备份并打包压缩:python比原来的shell只能运行在linux下面更广泛一些,而且后期扩展也更好. ################################## Functions: 1)按日备份数据库,并将备份文件压缩打包: 2)成功则将备份信息写入日志,失败则发邮件告警给管理员: 3)如果已经备份成功,不再重复备份: 4)稍作改动,可用于WINDOWS备份 ###############

linux设置定时备份mysql数据库

最近写自己的项目,买了阿里云服务器,可以在云上根据自己想到的需求随意使用技术,感觉很爽.备份mysql流程如下: 环境:CentOS Linux release 7.2.1511 (Core) mysql5.6.34 创建存放备份文件的文件夹mkmir /backup/mysql 创建备份脚本vi backup.shmysqldump -u root -p888 familytree | gzip > /backup/mysql/familytree_$(date +%Y%m%d_%H%M%S)

通过shell脚本操作mysql数据库

在做一些日常的运维工作的时候,经常需要些一些shell脚本进行设备性能以及其它参数的监控.在过去的一年工作中,接触到的比较多的是对数据库中某些信息的监控. 于是就想到了用shell+mysql+crontab进行实现. 下面附上通过shell命令行非交互式的操作数据库的方法: mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. #!/bi