美文网首页
等保三级项目改造之数据库备份

等保三级项目改造之数据库备份

作者: 翔子1987 | 来源:发表于2024-08-13 15:06 被阅读0次

一、 创建 dbbackup.sh 脚本文件

  1. 在新建 /usr/mybin 目录,并 cd 切换到目录,编写 dbbackup.sh 脚本文件
#!/bin/bash

# 数据库基本信息
DB_HOST=192.168.2.79
DB_DATABASE=ln-lszj
DB_USER=root
DB_PWD=123456789
DB_PORT=3307

#备份目录
BAKDIR=/data/backup/db
#获取当前时间
DATETIME=$(date +%Y%m%d%H%M%S)

#日志
LOG_PATH=${BAKDIR}/logs
LOG_NAME=$(date +%Y%m)

FILE_NAME=${DB_DATABASE}-${DATETIME}

# 1、创建备份目录,如果不存在,则创建
if [ ! -d "${BAKDIR}" ] 
then
  mkdir -p "${BAKDIR}"
fi

# 创建备份日志目录,如果不存在,则创建
if [ ! -d "${LOG_PATH}" ] 
then
  mkdir -p "${LOG_PATH}"
fi

# 查看mysql 是否正常运行
mysql_ps=`ps -ef |grep mysql |wc -l` 
if [ $mysql_ps == 0 ] 
then
    echo "当前服务器没有安装Mysql客户端或服务端!" >> ${LOG_PATH}/${LOG_NAME}.log
    exit
fi  

# 2、备份数据库,
echo "开始备份...$DATETIME" >> ${LOG_PATH}/${LOG_NAME}.log
mysqldump -h${DB_HOST} -u${DB_USER} -p${DB_PWD} -P${DB_PORT} --databases ${DB_DATABASE} > ${BAKDIR}/$FILE_NAME.sql

echo "备份完成...$DATETIME" >> ${LOG_PATH}/${LOG_NAME}.log

#开始压缩
cd $BAKDIR
tar -zcvf ${FILE_NAME}.tar.gz $FILE_NAME.sql
#更新备份日志
echo  "$DATETIME 压缩原文件 create ${BAKDIR}/$FILE_NAME.tar.gz" >> ${LOG_PATH}/${LOG_NAME}.log

#删除源文件
rm -rf $BAKDIR/$FILE_NAME.sql
echo "$DATETIME 压缩后删除原文件 delete ${BAKDIR}/$FILE_NAME.sql" >> ${LOG_PATH}/${LOG_NAME}.log

# 保留最新的10份文件
ls -t ${BAKDIR}/*.tar.gz |awk 'NR>10' |xargs rm -rf

#分割线
echo "======================================================================" >> ${LOG_PATH}/${LOG_NAME}.log

  1. 对脚本进行授权
chmod 755 dbbackup.sh

二. 编写 cron 定时任务

  1. 定时任务语句
# 每天凌晨1点,执行脚本,对数据库进行备份。
0 1 * * * /usr/mybin/dbbackup.sh
  1. 控制台输入下面命令
crontab -e
新增定时任务命令
定时任务编辑文件
  1. 将定时任务语句粘贴到最后面,保存并退出 wq
    编辑定时任务语句

注意:如果定时任务不生效,执行下面命令
重启cron服务,以使新任务立即生效,可以使用以下命令来重启cron服务:

在Debian或Ubuntu系统中:sudo service cron restart
在CentOS或RHEL系统中:sudo systemctl restart crond

相关文章

网友评论

      本文标题:等保三级项目改造之数据库备份

      本文链接:https://www.haomeiwen.com/subject/cdrjkjtx.html