mysql定时备份
windows备份数据库数据,创建一个文本文档文件,将后缀改成bat格式。
将以下内容添加保存
@echo off
rem 压缩工具对应路径及信息
set "TAR_CMD=C:\PTYT\7-Zip\7z.exe a"
rem dump命令执行路径,根据mysql安装路径而定,路径名称有空格使用英文双引号
rem set DUMP=C:\"Program Files"\mysql-8.0.12-winx64\bin
set DUMP=C:\PTYTLV\mysql-8.0.12-winx64\bin\
rem 临时备份路径
set OUT_DIR=C:\PTYT\mysqldb\bak_tmp
rem 压缩后的备份存放路径
set TAR_DIR=C:\PTYT\mysqldb\bak_list
rem 代表删除DAYS(天)前的备份,即只保留近 DAYS(天)的备份
set DAYS=10
rem 需要备份的数据库
set DB_NAME=scloud
rem 数据库账号
set DB_USER=root
rem 数据库密码
set DB_PASS=111111
rem 自动获取日期信息生成
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
rem 最终保存的数据库备份文件
set TAR_BAK="%TAR_DIR%\%DB_NAME%_%Ymd%.7z"
rem 进入mysql所在路径执行dump命令备份数据库
cd /D %DUMP%
mysqldump -h 127.0.0.1 -P 3306 -u %DB_USER% -p%DB_PASS% %DB_NAME%> %OUT_DIR%\%DB_NAME%_%Ymd%.txt
rem 打包备份数据以减少空间占用
%TAR_CMD% %TAR_BAK% %OUT_DIR%\%DB_NAME%_%Ymd%.txt
rem 清空临时备份路径下内容
del /f /s /q %OUT_DIR%\%DB_NAME%_%Ymd%.txt
rem 删除DAYS(天)前的备份文件
Forfiles /p %TAR_DIR%\ /s /d -%DAYS% /m *.* /c "cmd /c del /q /f @path"
@echo on
Linux数据备份,可以在window下写好sh后缀文件,或者使用命令touch创建后缀sh文件
#!/bin/sh
# dump 命令执行路径,根据mysql安装路径而定
DUMP=/root/PTYT/mongodb/bin/mysqldump
# 临时备份路径
OUT_DIR=/root/PTYT/backup/mysqldb/bak_tmp
# 压缩后的备份存放路径
TAR_DIR=/root/PTYT/backup/mysqldb/bak_list
# 当前系统时间
DATE=`date +%Y-%m-%d`
#需要备份的数据库
DB_NAME=ucpdb
# 数据库账号
DB_USER=root
# 数据库密码
DB_PASS=111111
# 代表删除DAYS天前的备份,即只保留近DAYS天的备份
DAYS=10
# 最终保存的数据库备份文件
TAR_BAK="mysql_bak_$DATE.tar.gz"
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -h 127.0.0.1 -P 3306 -u $DB_USER -p$DB_PASS -d $DB_NAME> $OUT_DIR/$DATE.txt
# 压缩格式为 .tar.gz 格式
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE.txt
# 删除DAYS天前的备份文件
find $TAR_DIR/ -mtime +$DAYS -delete
exit
定时任务配置查看mongodb数据库备份的文档