任庆博

导航

linux中自动备份数据库

shell脚本:

#!/bin/bash

#备份目录

BACKUP=/data/backup/db

#当前时间

DATETIME=$( date +%Y-%m-%d_%H%M%S )

#数据库地址

HOST=localhost

#数据库用户名

DB_USER=root

#数据库密码

DB_PW=root

#备份数据库名

DATABASE=test

 

#创建目录,如果不存在就创建

[  !  -d  "${BACKUP}/${DATETIME}"  ]   &&   mkdir  -p  "${BACKUP}/${DATETIME}"

 

#备份数据库

mysqldump  -u${DB_USER}   -p${DB_PW}   --host=${HOST}  -q  -R  --database  ${DATABASE}  |   gzip  >  ${BACKUP}/${DATETIME}/$DATETIME.sql.gz

 

#将文件处理成tar.gz

cd  ${BACKUP}

tar  -zcvf  $DATETIME.tar.ge   ${DATETIME}

#删除对应的备份目录

rm  -rf  ${BACKUP}/${DATETIME}

 

#删除10天前的备份文件

find  ${BACKUP}  -ATIME  +10  -name  "*.tar.gz"   -exec  rm  -rf  {}  \;

echo  "备份数据库完成"

 

 

 

 

 

然后通过crond服务添加任务即可:

crontab  -e   回车;

。。。。。

 

posted on 2022-04-13 11:09  不捡自然无  阅读(271)  评论(0编辑  收藏  举报