mysql完整备份,超过十天的自动删除

#!/bin/bash

#Author [email protected]

cd /sqlbak

/usr/local/mysql/bin/mysqladmin -uroot -p123456 flush-logs

MAXIMUM_BACKUP_FILES=10

BACKUP_FOLDERNAME="database_backup"

DB_HOSTNAME="localhost"

DB_USERNAME="root"

DB_PASSWORD="123456"

DATABASES=(

"数据库名称"

"数据库名称"

"数据库名称"

)

#=========

echo "Bash Database Backup Tool"

#CURRENT_DATE=$(date +%F)

CURRENT_DATE=$(date +%F)

BACKUP_FOLDER="${BACKUP_FOLDERNAME}_${CURRENT_DATE}"

mkdir $BACKUP_FOLDER

#Count the database.

count=0

while [ "x${DATABASES[count]}" != "x" ];do

count=$(( count + 1 ))

done

echo "[+] ${count} databases will be backuped..."

# Iterate over the database list and dump (in SQL) the content of echo one.

for DATABASE in ${DATABASES[@]};do

echo "[+] Mysql-Dumping: ${DATABASE}"

echo -n " Began: ";echo $(date)

if $(mysqldump -h ${DB_HOSTNAME} -u${DB_USERNAME} -p${DB_PASSWORD} ${DATABASE} > "${BACKUP_FOLDER}/${DATABASE}.sql");then

echo " Dumped successfully!"

else

echo " Failed dumping this database!"

fi

echo -n " Finished: ";echo $(date)

done

echo

echo "[+] Packaging and compressing the backup folder..."

tar -cv ${BACKUP_FOLDER} | bzip2 > ${BACKUP_FOLDER}.tar.bz2 && rm -rf $BACKUP_FOLDER

BACKUP_FILES_MADE=$(ls -l ${BACKUP_FOLDERNAME}*.tar.bz2 | wc -l)

BACKUP_FILES_MADE=$(( $BACKUP_FILES_MADE - 0 )) ###Convert into integer number.

echo

echo "[+] There are ${BACKUP_FILES_MADE} backup files actually."

if [ $BACKUP_FILES_MADE -gt $MAXIMUM_BACKUP_FILES ];then

REMOVE_FILES=$(( $BACKUP_FILES_MADE - $MAXIMUM_BACKUP_FILES ))

echo "[+] Remove ${REMOVE_FILES} old backup files."

ALL_BACKUP_FILES=($(ls -t ${BACKUP_FOLDERNAME}*.tar.bz2))

SAFE_BACKUP_FILES=("${ALL_BACKUP_FILES[@]:0:${MAXIMUM_BACKUP_FILES}}")

echo "[+] Safeting the newest backup files and removing old files..."

FOLDER_SAFETY="_safety"

if [ ! -d $FOLDER_SAFETY ]

then mkdir $FOLDER_SAFETY

fi

for FILE in ${SAFE_BACKUP_FILES[@]};do

mv -i ${FILE} ${FOLDER_SAFETY}

done

rm -rf ${BACKUP_FOLDERNAME}*.tar.bz2

mv -i ${FOLDER_SAFETY}/* ./

rm -rf ${FOLDER_SAFETY}

CHAR=‘‘

for ((i=0;$i<=100;i+=2))

do printf "Removing:[%-50s]%d%%\r" $CHAR $i

sleep 0.1

CHAR=#$CHAR

done

echo

fi

mysql完整备份,超过十天的自动删除

时间: 2024-08-08 05:35:33

mysql完整备份,超过十天的自动删除的相关文章

Percona Xtrabackup备份mysql (完整备份与增量备份)

Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM 的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流压缩到传输到其它服务器 4.能比较容易地创建主从同步 5.备份MySQL时不会增大服务器

MySQL完整备份,还原

# 备份 mysqldump -uroot -p --all-databases > sqlfile.sql # 恢复 mysql –uroot –p source <path>/sqlfile.sql; 原文地址:https://www.cnblogs.com/sonofdark/p/10837746.html

Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份 同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流

MYSQL数据库自动本地/异地双备份/MYSQL增量备份

构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是重中之重的首要工作.电 子商务网站更加注重考虑数据安全,数据备份方案,包括本地备份.异地备份架构.其中Linux服务器的备份方案非常多,本文介绍一个大众化适用的解决方 案,通过编写Shell脚本来完成自动备份.本架构包括备份网站文件.数据库,自动本地备份并FTP上传备份脚本,完成相应本地备份.异地备

我的MYSQL学习心得(十四) 备份和恢复

原文:我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(十) 自定义存储过程

Mysql数据库理论基础之十二 ---- 备份与还原

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

攻城狮在路上(叁)Linux(二十九)--- 完整备份工具:dump以及restore

一.dump命令: 该命令既可以针对整个文件系统进行备份,也可以仅针对目录来备份.还可以指定不同的备份等级(-0~-9共10个等级). dump -W:列出在/etc/fstab中具有dump设置的分区是否备份过. 命令格式: dump [-Suvj] [-level] [-f 备份文件] 待备份数据 参数说明: -S:仅列出后面的待备份数据所需要的磁盘空间大小. -u:将这次dump的时间记录到/etc/dumpdates文件中. -v:将dump的文件过程显示出来. -j:加入bzip2的支

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 innobackupex使用方法 完整备份及还原 增量备份及还原 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona

mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份     增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份.这里我们采用的策略是每周五下午5:30进行一次完整备份:每天的6:00.12:10.17:00进行增量备份. 1.完整备份脚本如下:(备份之后并打包存储) 2.增量备份脚本如下:(将生成的二进制文件内容读取出来并导入一个新的sql文件中) 增量备份的前提时,要在mysql的配置文件里打开二进制功能: log-bin=mysql 3.将这两个加进计划任务里 4.执行结果: 数据