bat 备份mysql数据库, 并把备份后的文件发送到指定的FTP和邮箱(windows2003)

82 阅读1分钟

首先是  main.bat 文件代码

注意里面的路径

@echo off set path=%path% set d=%date:~8,2% set h=%time:~0,2% set d``if /i %d% LSS 10 (``  ``set d=0%d:~1,1%``)``set d set h``if /i %h% LSS 10 (``  ``set h=0%h:~1,1%``)``set h ::设置日期为文件名  -------------------------------------``set cdate=%d%_%h%  if not exist d:\db_backup (``    ``md d:\db_backup``) D: cd D:\ZkeysSoft\MySql\MySQL Server 5.1\bin ::bakup mysql data  -------------------------------------``mysqldump -uroot -pwindzjp2000 --all-databases > d:\db_backup\mysql_bak.sql ::ping /n 10 127.1 >null ::to cab file  -------------------------------------``makecab d:\db_backup\mysql_bak.sql d:\db_backup\mysql_bak.cab ::ping /n 10 127.1 >null ::delete sql file  -------------------------------------``del /F /Q d:\db_backup\mysql_bak.sql  ::send file by Email  -------------------------------------``D:\software\db-mysql-bak\sendmail.vbs ::rename file``cd d:\db_backup``ren mysql_bak.cab  mysql_bak%cdate%.cab ::send file by ftp  -------------------------------------``ftp -s:D:\software\db-mysql-bak\ftp-info.txt if not exist d:\db_backup2 (``    ``md d:\db_backup2``)  move /Y D:\db_backup*.* D:\db_backup2 @ping /n 10 127.1 >null   exit

ftp信息代码. 保存文件名为ftp-info.txt

代码行依次为
打开FTP地址

FTP用户名

FTP密码

进入文件夹 db_backup

上传文件

open 180.86.108.5``webmaster@lastidea.net``password cd db_backup``mput d:\db_backup*.cab /db_backup/ bye

发送邮件代码, 请把里面对应的发送和接收邮件的账号改成自己的! 文件名为sendmail.vbs

NameSpace = ``"http://schemas.microsoft.com/cdo/configuration/"``Set Email = CreateObject(``"CDO.Message"``)`` Email.From = ``"feedback@lastidea.net"``Email.``To  = ``"feedback@lastidea.net"`` Email.Subject = NOw & ``"CMS数据库备份"`` Email.Textbody = ``"数据库备份文件在附件中。系统自动发送请勿直接恢复。技术支持 zjp@lastidea.net"`` Email.AddAttachment ``"d:\db_backup\mysql_bak.cab"``With Email.Configuration.Fields``    ``.Item(NameSpace&``"sendusing"``) = 2``    ``.Item(NameSpace&``"smtpserver"`` ) = ``"smtp.exmail.qq.com"``    ``.Item(NameSpace&``"smtpserverport"``) = 25``    ``.Item(NameSpace&``"smtpauthenticate"``) = 1``    ``.Item(NameSpace&``"sendusername"`` ) = ``"feedback@lastidea.net"``    ``.Item(NameSpace&``"sendpassword"`` ) = ``"123456"``    ``.Update``End With``Email.Send

  上面三个文件都放在D:\software\db-mysql-bak中. 然后建个任务计划, 定时执行这个程序就可以了