备份数据库
#!/bin/bash
set -x
# 使用方法:
# 使用 root 用户操作
# 1 使用本文件的内容创建文件 /usr/local/bin/back-sql.sh
# 2 修改文件 /usr/local/bin/back-sql.sh 的权限
# chmod 755 /usr/local/bin/back-sql.sh
# 3 使用 root 用户执行命令 crontab -e
# 4 之后使用下面的内容填充(不包含 # ),含义是每天的 00 点 00 分执行备份数据库的脚本
# 00 00 * * * /usr/local/bin/back-sql.sh > /tmp/back-sql.log 2>&1
# 脚本作者: 闫顺军
# 邮箱:
# 脚本作用:
# 对 MySQL 数据库的生产逻辑库进行全量备份,并对
#######################################
###### 定义变量 ######
export PATH=$PATH:/usr/local/bin
# mysql 用户
sql_user=shark
# mysql 密码
sql_pwd=password
# mysql 主机名或者ip
sql_host=x.x.x.x
# mysql 端口
sql_port=3306
# 数据备份目录
backup_dir=/apps/dbbackup/mysqldata
# 时间戳
dt=$(date +%Y%m%d%H%M)
# docker-compose.yml 文件绝对路径
compose_file=/apps/middle/mysql/docker-compose.yml
# 需要备份的逻辑库名称
dbs="spms_admin spms_alarm spms_asset spms_convenient spms_datatemp spms_datav spms_device spms_edge spms_meet spms_message spms_security spms_system spms_workorder"
###### 备份前删除 15 天和 15 天之前备份的文件 ######
find ${backup_dir} -mtime +15 -name 'all*.sql'|xargs rm -rf
###### 备份逻辑库 ######
docker-compose -f ${compose_file} exec mysql mysqldump -u${sql_user} -p${sql_pwd} -h ${sql_host} -P ${sql_port} --set-gtid-purged=OFF --triggers --routines --events --databases $dbs 2>/dev/null > ${backup_dir}/all-${dt}.sql
备份知道目录的数据
#!/bin/bash
set -x
# 使用方法:
# 使用 root 用户操作
# 1 使用本文件的内容创建文件 /usr/local/bin/back-middle.sh
# 2 修改文件 /usr/local/bin/back-middle.sh 的权限
# chmod 755 /usr/local/bin/back-middle.sh
# 3 使用 root 用户执行命令 crontab -e
# 4 之后使用下面的内容填充,含义是每月的 1 号和 15 号的 01 点 00 分执行备份 middle 目录的全部文件
# 00 01 1,15 * * /usr/local/bin/back-middle.sh >/tmp/back-middle.log 2>&1
# 脚本作者:
# 邮箱:
# 脚本作用:
# 对 MySQL Redis RabbitMQ 等中间件的 docker-compose 文件、配置文件和数据目录进行文件级别的全量备份,每月 1 号和15号分别执行一次。
#######################################
###### 定义变量 ######
export PATH=$PATH:/usr/local/bin
###### 程序开始 ######
# 备份程序的整个目录,包含 MySQL/Radis/RabbitMQ 的程序和数据
cd /apps
tar -cvzf /apps/dbbackup/middle-$(hostname)-$(date "+%Y%m%d").tar.gz middle --exclude=*log*
if [ $? -eq 0 ];then
# 删除之前的备份
find /apps/dbbackup -mtime +16 -name 'middle*.tar.gz'|xargs rm -rf
fi