shell--数据库备份脚本

时间:2021-12-24 18:45:22

#!/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