mysql备份脚本-mysqldump
背景:全库备份
备份流程:
1.生成DB列表,将DB名字写入文件
2.定义备份函数,结果写入SQL文件
3.压缩文件,减少磁盘占用量
4.设置保留天数,定期删除n天之前的
5.通过for循环读取DB列表文件,依次进行mysqldump
#!/bin/bash PORT=''
PASSWD='admin'
SOCKED="/data/socket/mysql${PORT}.sock"
BACKUP_FILE='/data/mysqlData/backup'
BACKUP_SAVE_DAYS='' CMD1='show databases;'
Time=`date +%Y%m%d_%H%M%S`
EVERY_DAY_BACKUP_DIR="${BACKUP_FILE}/${Time}_backup"
DB_LIST="${EVERY_DAY_BACKUP_DIR}/db_list.txt" # function : check_db ===> db_list.txt
check_db()
{
mkdir -pv ${EVERY_DAY_BACKUP_DIR} >>/dev/null
touch ${DB_LIST} && chmod ${DB_LIST} && chown -R mysql.mysql ${DB_LIST}
/usr/local/mysql/bin/mysql -uadmin -p${PASSWD} -S ${SOCKED} -NBe"${CMD1}"|grep -v 'information_schema\|performance_schema\|mysql'>${DB_LIST} } # function : backup_db ===>xx.sql
backup_db()
{
/usr/local/mysql/bin/mysqldump -uadmin -p${PASSWD} -S ${SOCKED} $ >> ${EVERY_DAY_BACKUP_DIR}/$.sql
} # function : tar_file ===>xx.tar.gz
tar_file()
{
cd ${BACKUP_FILE}
tar -cf `date +%Y%m%d_%H%M%S`.tar.gz ${Time}_backup
rm -fr ${Time}_backup
} # function : delete xx.tar.gz : <before n days>
delete_file()
{
cd ${BACKUP_FILE}
/usr/bin/find -name "*.tar.gz" -mtime +${BACKUP_SAVE_DAYS} -exec rm {} \;
} # main_process
#
check_db #
cat ${DB_LIST}| while read line
do
oldIFS=${IFS}
backup_db ${line}
IFS=${oldIFS}
sleep
done #
tar_file # delete xx.tar.gz : before n days delete_file ${BACKUP_SAVE_DAYS}
mysql备份脚本-mysqldump的更多相关文章
- MySQL 备份脚本--mysqldump在slave 上进行备份
MySQL 备份脚本--mysqldump在slave 上进行备份 使用mysqldump在slave上进行备份,建议使用stop slave sql_thread,start slave sql_t ...
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- 自动化运维——MySQL备份脚本(二)
使用if语句编写MySQL备份脚本 代码: #!/bin/bash #auro backup mysql db #by steve yu #define backup path BAK_DIR=/da ...
- Windows 下 MySQL 备份脚本
@title MySQL备份脚本 @echo off @echo root@127.0.0.1:3306 set host=127.0.0.1 set port=3306 set user=root ...
- jar包-循环遍历-开机启动服务-微服务-多项目拷贝-pid杀死进程-mysql备份脚本-防火墙检测脚本
vi /root/serverkaiji.sh #!/bin/bash ls /tlvnksc/ | egrep -v "^c|^f" > /root/service.lis ...
- MySQL备份还原——mysqldump工具介绍
mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件.有点类似于SQL SEVER的"任务-生成脚本"的逻辑备份功能.mysqldump ...
- CMD mysql 备份脚本
创建.bat文件 echo. echo MySQL数据库备份脚本 echo ***************************** echo. echo 备份日期:%date% echo 备份时间 ...
- Mysql备份工具mysqldump和mysqlhotcopy
(1).Mysql备份类型 1)按照备份时对数据库的影响分为 Hot backup(热备):也叫在线备份.指在数据库运行中直接备份,对正在运行的数据库没有任何影响. Cold backup(冷备):也 ...
- MySQL备份脚本,应该这么写
前言: 数据库备份的重要性不言而喻,特别是在生产环境,任何数据的丢失都可能产生严重的后果.所以,无论什么环境,我们都应该有相应的备份策略来定时备份数据库.在 MySQL 中,比较常用的逻辑备份工具是 ...
随机推荐
- Android 通过findViewById方式创建TabHost
package org.shuxiang.tabhostsample; import android.os.Bundle; import android.app.ActivityGroup; impo ...
- Servlet3.0文件上传
Servelt3.0文件上传作为一种便捷的文件上传方式很是值得我们去应用的 1.Servlet3.0文件上传使用步骤 浏览器端的要求 表单的提交方法必须是post 必须有一个文件上传组件 <in ...
- ERROR in [copy-webpack-plugin] unable to locate "D:/xxx/xxx/xxx"
vue打包的时候npm run build报错 ERROR in [copy-webpack-plugin] unable to locate "D:/xxx/xxx/xxx" 这 ...
- Angular2+学习第1篇 简介
历史: Angular是Google推出的Web前端开发框架,从12年发布起就受到了强烈的关注,他首次提出了双向绑定的概念,让人耳目一新. Angular 2特性 就在2016年9月中旬,时隔4年,G ...
- No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon?
... 60 common frames omittedCaused by: java.lang.IllegalStateException: No Feign Client for loadBala ...
- vue-router路由懒加载
正常配置 import Vue from 'vue' import Router from 'vue-router' import Login from '@/components/pages/log ...
- java获取src下文件
方式一: InputStream in = Test.class .getResourceAsStream("/env.properties"); URL url = Test.c ...
- SIP中的 session, dialog 及 transaction 的解释
http://stackoverflow.com/questions/35133331/difference-between-session-dialog-and-transaction-in-sip ...
- java 多线程 day11 lock
import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock; /** * Create ...
- MySQL中的索引详讲
一.什么是索引?为什么要建立索引? 索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的 ...