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

数据库   发布日期:2023年05月14日   浏览次数:516

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

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

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

  1. set "Y=%date:~,4%"
  2. set "m=%date:~5,2%"
  3. set "d=%date:~8,2%"
  4.  
  5. md "D:\mysql_bak\%Y%\%m%"
  6.  
  7. "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
  8.  
  9. copy D:\mysql_bak\%Y%\%m%\test_%Y%%m%%d%.sql D:\AppServ\www\auto_backup_bat\mysql_test.sql
  10.  
  11. 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为了安全考虑,不允许直接明文在命令行中显示出这些信息,必须写在配置文件中

  1. [mysqldump]
  2. user=root
  3. password=123456

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

  1. <Files ~ ".(sql|rar_bz)$">
  2. order deny,allow
  3. deny from all
  4. allow from 10.64.200.17
  5. allow from 10.64.8.200
  6. </Files>

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

  1. set "Y=%date:~,4%"
  2. set "m=%date:~5,2%"
  3. set "d=%date:~8,2%"
  4.  
  5. md "F:\Auto_download\%Y%\%m%\%d%"
  6.  
  7. 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')
  8.  
  9. 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')

以上就是BAT命令备份mysql数据库、WinRAR压缩打包、BAT远程下载的详细内容,更多关于BAT命令备份mysql数据库、WinRAR压缩打包、BAT远程下载的资料请关注九品源码其它相关文章!