#!/bin/bash
#数据库的完全备份
#把日期显示为170605(这个是当前的时间)的格式
date=$(date +%y%m%d)
#计算下这个备份的数据库文件的大小
size=$(du -sh /var/lib/mysql)
#接下来判断文件是否存在,这里的/tmp/dback和/tmp/dback/db.txt都是临时文件,可以随意设置
if [-d /tmp/dback]
then
echo "Date is $date !!!" >/tmp/dback/db.txt
echo "Size is $size !!!" >>/tmp/dback/db.txt
cd /tmp/dback
#我们这里的/var/lib/mysql为rpm包安装的默认数据库存放路径,如果是源码包安装的那么数据库的默认路径在/usr/local/mysql,所以源码包备份数据库只要把下/var/lib/mysql换成/usr/local/mysql就可以了
tar -zvf mysql-$date.tar.gz /var/lib/mysql &>/dev/null
#最后删除临时文件
rm -rf /tmp/dback/db.txt
else
#下面与上面的是一样的代码原理也一样,我就不注释了
mkdir /tmp/dback
echo "Date is $date !!!" >/tmp/dback/db.txt
echo "Size is $size !!!" >>/tmp/dback/db.txt
cd /tmp/dback
tar -zvf mysql-$date.tar.gz /var/lib/mysql &>dev/null
rm -rf /tmp/dback/db.txt
fi
本文介绍了一个用于MySQL数据库完全备份的bash脚本。该脚本能够根据当前日期自动生成备份文件名,并记录数据库的大小信息。此外,脚本还包含了判断临时文件夹存在性的逻辑,并在备份完成后清理临时文件。
597

被折叠的 条评论
为什么被折叠?



