yanfei 发表于 2018-9-29 09:23:46

windows下的mysql自动备份脚本

  1.自动备份数据库的时间和频率都在计划任务里面实现
  2.备份login,server,log三个数据库到本地e:\backup下命名格式以login-2013-08-10.sql为准,调用7zip压缩成login-2013-08-10.sql.7z并加上密码,然后上传FTP服务器指定的backup文件夹下,删除login-2013-08-10.sql并删除30天之前的备份文件.,dba是第一个要备份的数据库,dbb是第二个以此类推,红色的字体是可以自行调整的,要注意的是一致性.
  @echo off
  set year=%date:~0,4%
  set month=%date:~5,2%
  set day=%date:~8,2%
  set dba=login-%year%-%month%-%day%.sql
  set dbb=server-%year%-%month%-%day%.sql
  set dbc=log-%year%-%month%-%day%.sql
  echo 开始备份数据....
  E:
  cd \web\MySQL\bin
  mysqldump.exe login -uroot -pasdflxFz36A@Po > e:\backup\%dba%
  mysqldump.exe server -uroot -pasdflxFz36A@Po > e:\backup\%dbb%
  mysqldump.exe log -uroot -pasdflxFz36A@Po > e:\backup\%dbb%
  @echo off
  c:
  cd \Program Files\7-Zip
  7z a -pbc3o31ddfe:\backup\%dba%.7z e:\backup\%dba%
  7z a -pbc3o31ddfe:\backup\%dbb%.7z e:\backup\%dbb%
  7z a -pbc3o31ddfe:\backup\%dbb%.7z e:\backup\%dbc%
  @echo off
  echo 压缩完成,开始上传数据...
  echo open 192.168.1.73 >ftp.txt
  echo sandy>>ftp.txt
  echo vcxva235127dzvb>>ftp.txt
  echo cd backup>>ftp.txt
  echo put e:\backup\%dba%.7z>>ftp.txt
  echo put e:\backup\%dbb%.7z>>ftp.txt
  echo put e:\backup\%dbc%.7z>>ftp.txt
  echo bye>>ftp.txt
  ftp -s:ftp.txt
  del ftp.txt
  del e:\backup\%dba%
  del e:\backup\%dbb%
  del e:\backup\%dbc%
  echo 上传完成
  @echo off
  echo 删除30天之前的备份文件...
  forfiles /p e:\backup\ /m *.7z -d -30 /c "cmd /c del /f @path"
  echo 删除完成

页: [1]
查看完整版本: windows下的mysql自动备份脚本