bat脚本,备份数据库并压缩

forfiles /p "D:\DBBackup" /m "*.sql" /d -08 /c "cmd /c del @path"
forfiles /p "D:\DBBackup\backuplog" /m "*.rar" /d -03 /c "cmd /c del @path"
@echo off
set errorlevel=0

set DBUser=backup
set DBPassword=passwd
set IP=192.168.1.1
set port=3306

mysql -u%DBUser% -p%DBPassword% -h%IP% -P%port% < D:\DBBackup\scripts\dbname.sql > D:/DBBackup/logdbname.txt

D:
cd D:/DBBackup
more +1 logdbname.txt > logdbname.tmp
del logdbname.txt
ren logdbname.tmp logdbname.txt

for /f  "tokens=1 delims= " %%i in (D:/DBBackup/logdbname.txt) do mysqldump -u%DBUser% -p%DBPassword% -h%IP% -P%port% %%i > D:/DBBackup/%%i_%date:~0,4%%date:~5,2%%date:~8,2%.sql
for /f  "tokens=1 delims= " %%i in (D:/DBBackup/logdbname.txt) do start /wait C:\"Program Files"\WinRAR\WinRAR.exe -Y U -agYYYYMMDD -ep1  D:\DBBackup\backuplog\%%i_.rar D:\DBBackup\%%i_%date:~0,4%%date:~5,2%%date:~8,2%*.sql

时间: 2024-08-30 12:52:19

bat脚本,备份数据库并压缩的相关文章

Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据

Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log set servername="192.168.43.9" set DBname="TEST" set User="sa" set Password="123456*" echo Deployed Time: %date% %ti

Transact-SQL 示例 - 使用脚本备份数据库的示例

在常规的数据库开发与维护的过程中,常常需要对数据库进行数据备份,最入门的办法就是使用SSMS图形化界面提供的数据库备份向导一步一步操作进行备份,这种方式虽然简单快捷但是日子久了就会觉得重复且繁琐.下面将为大家奉献一个简单易用的sql脚本备份方法,也可以稍微改进一下放到定时任务内成为数据库定时备份的功能. 下面例子当中参数@enable_compression是sql2008企业版往上才提供的功能,它可以压缩数据库备份出来的备份文件. declare @database_name nvarchar

[Shell 脚本] 备份数据库文件至OSS服务(纯shell脚本无sdk)

背景: 凡事使用服务器搭建的网站就需要定时备份网站数据,常见的方法是打包网站目录,然后备份到FTP服务器上等.也有通过OSS SDK把备份的网站文件上传到OSS服务器上,但是通过SDK来实现,需要一定的技术能力,而且相对比较复杂,需要使用更多的文件,而这篇文章是通过shell脚本,并不是通过OSS SDK来上传文件,简单方便. 步骤: 1.首先需要在阿里云注册账号,开通OSS服务,创建bucket,Bucket设置为私有读写. 2.将下面的脚本文件复制下来,保存为 .sh 脚本文件(例如:bac

为服务器添加定时脚本+备份数据库

首先crontab -l 查看已有的时程表,能够展示当前的定时任务有哪些 编写脚本: #!/bin/bash HOST:127.0.0.1 User=root PW=mima DATETIME=$(date +%Y_%m_%d_%H%M%S) echo "执行日期:" + ${DATETIME} echo "开始执行清理8小时前binlog"mysql -u$User -p$PW <<EOF PURGE MASTER LOGS BEFORE DATE_S

Shell脚本备份数据库(多库)

#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATH#数据库用户名dbuser='root'#数据库用密码dbpasswd='password'#需要备份的数据库,多个数据库用空格分开dbname=('dbname1' 'dbname2 'dbname3' 'dbname4' 'dbname5')#备份时间backtime=`date +%Y%m%d%H%M%S`#mysql

winform程序,备份数据库+并压缩+并删除以前的备份

说明:为了定时备份服务器上的数据库并压缩到指定目录,方便下载到本地而写本程序.配合windows的任务计划,可以达到定时备份数据库的目的. 程序需引用SQLDMO.DLL,如电脑上已安装sqlserver,可在C:\Program Files\Microsoft SQL Server\80\Tools\Binn\找到 string ServerName = System.Configuration.ConfigurationSettings.AppSettings["ServerName&quo

sqlserver2008用bat脚本备份时报错因为库名有中横杠【原创】

提示原因是数据库名字有中横岗“-” 解决方法:用中括号把名字括起来就可以了 call :backupone [数据库名-new] 完整备份脚本如下 @ECHO ON set DATE=%date:/=-% set bakupfolder=F:\bakup\ rem 1按子目录保存备份文件;0不按 set lay_in_subfolder=1 call :backupone [数据库名-new] goto :EOF @ECHO OFF :backupone setlocal echo %1 set

bat自动备份数据库文件

运行环境windows 新建一个dbback.bat文件,内容如下 @echo off set h=%time:~0,2% set h=%h: =0% set hhmiss=%date:~0,4%%date:~5,2%%date:~8,2%%h%%time:~3,2%%time:~6,2% set "folder=%date:~0,4%%date:~5,2%%date:~8,2%" ::自动创建当天文件夹(dbBack这个文件夹需要自行创建) if not exist D:\dbBac

bat脚本--备份30天前的文件

@echo off ::三十天以前的文件 set dayago = 30 >$.vbs echo dst_date = date()- %dayago% >>$.vbs echo date_str = right(year(dst_date),4) ^& right("0" ^& month(dst_date),2) ^& right("0" ^& day(dst_date),2) >>$.vbs ech