1.脚本名称
pro_bkdb.sh
2.脚本内容
#!/bin/bash
## 需要备份数据库服务信息
# 用户中心数据库
FROM_DB_NAME1="xx"
FROM_DB_NAME2="xx"
FROM_DB_NAME3="xx"
FROM_DB_NAME4="xx"
FROM_DB_USER="root"
FROM_DB_PASS="xx"
## 存储备份数据的服务器信息
TARGET_BACKUP_DIR="/home/backup"
# 判断备份路径是否存在,不存在则创建该路径
if [ ! -d $BACKUP_DIR ];then
mkdir -p "$BACKUP_DIR"
fi
# 进入备份目录
cd "$TARGET_BACKUP_DIR"
# 文件名
DUMPFILE1="$FROM_DB_NAME1-$(date +%Y%m%d_%H%M%S).sql.gz"
DUMPFILE2="$FROM_DB_NAME2-$(date +%Y%m%d_%H%M%S).sql.gz"
DUMPFILE3="$FROM_DB_NAME3-$(date +%Y%m%d_%H%M%S).sql.gz"
DUMPFILE4="$FROM_DB_NAME4-$(date +%Y%m%d_%H%M%S).sql.gz"
# 备份xx数据库
mysqldump -h 数据库IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME1 | gzip > $DUMPFILE1
if [[ $? == 0 ]];then
echo "$FROM_DB_NAME1 backup success"
else
echo "$FROM_DB_NAME1 backup fail!"
fi
# xx数据库
mysqldump -h 数据库IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME4 | gzip > $DUMPFILE4
if [[ $? == 0 ]];then
echo "$FROM_DB_NAME4 backup success"
else
echo "$FROM_DB_NAME4 backup fail!"
fi
# xx数据库
mysqldump -h 数据库IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME2 | gzip > $DUMPFILE2
if [[ $? == 0 ]];then
echo "$FROM_DB_NAME2 backup success"
else
echo "$FROM_DB_NAME2 backup fail!"
fi
# xx数据库
mysqldump -h 数据库IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME3 | gzip > $DUMPFILE3
if [[ $? == 0 ]];then
echo "$FROM_DB_NAME3 backup success"
else
echo "$FROM_DB_NAME3 backup fail!"
fi
# 删除7天前的数据
do_delete()
{
DELFILES=`find $TARGET_BACKUP_DIR -mtime +7 -type f -exec ls {} \;`
#DELFILES=`find $TARGET_BACKUP_DIR -mmin +2 -type f -exec ls {} \;`
for delfile in ${DELFILES}
do
rm -rf $delfile
echo "delete success"
done
}
do_delete
3.开启定时任务
vi /etc/crontab
# 添加如下命令,说明:每天1时0分进行数据库备份操作
00 01 * * * root /home/pro_bkdb.sh
# crontab服务状态控制可以通过如下命令进行查看和操作
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看状态
或
service crond start
service crond stop
service crond restart
service crond reload
service crond status