«

BAT命令备份mysql数据库、WinRAR压缩打包、BAT远程下载

时间:2024-3-3 10:41     作者:韩俊     分类: Linux


最近研究mysql数据库远程备份、下载功能的时候,想到了用BAT来完成这些任务。思路就是用BAT配合使用mysqldump备份导出数据库的.sql脚本,用利用本机安装的WinRAR解压缩程序打包成RAR文件,然后利用Windows系统的计划任务定时执行一个BAT脚本来远程下载指定路径的SQL文件到本地指定目录。

同时,为了安全将BAT打包成的rar文件命名为.rar_bz,然后通过.htaccess指定.rar_bz为后缀名的文件可以被下载,同时必须是指定的IP可以访问,以确保安全。这样换后后缀名保存文件,是为了区分与正常在毛票票中上传的.rar文件区分开,防止其它RAR文件受影响不能正常下载。

BAT命令批量处理备份mysql及并利用winrar打包压缩成rar文件)

set "Y=%date:~,4%" 
set "m=%date:~5,2%" 
set "d=%date:~8,2%" 

md "D:\mysql_bak\%Y%\%m%"

"D:\AppServ\MySQL\bin\mysqldump.exe"  --defaults-file="D:\appserv\mysql\mysqldump-user.ini" -uroot test > D:\mysql_bak\%Y%\%m%\test_%Y%%m%%d%.sql

copy D:\mysql_bak\%Y%\%m%\test_%Y%%m%%d%.sql D:\AppServ\www\auto_backup_bat\mysql_test.sql

start C:\"Program Files"\WinRAR\WinRAR.exe a D:\AppServ\www\auto_backup_bat\web_test.rar_bz D:\AppServ\www

其中的mysqldump-user.ini为数据库的连接用户名和密码,因为高版本的mysql为了安全考虑,不允许直接明文在命令行中显示出这些信息,必须写在配置文件中

[mysqldump]
user=root
password=123456

.HTACCESS(确保安全限制指定后缀文件,只能指定IP访问)

<Files ~ ".(sql|rar_bz)$">
    order deny,allow
    deny from all
    allow from 10.64.200.17
    allow from 10.64.8.200
</Files>

BAT实现(远程下载备份数据库文件到本地指定目录)

set "Y=%date:~,4%" 
set "m=%date:~5,2%" 
set "d=%date:~8,2%" 

md "F:\Auto_download\%Y%\%m%\%d%"

powershell (new-object System.Net.WebClient).DownloadFile('http://10.64.8.100/auto_backup_bat/mysql_test.sql','F:\Auto_download\%Y%\%m%\%d%\test.sql')

powershell (new-object System.Net.WebClient).DownloadFile('http://10.64.8.100/auto_backup_bat/web_test.rar_bz','F:\Auto_download\%Y%\%m%\%d%\test.rar')

标签: linux

热门推荐