wojkxlq 发表于 2015-5-27 09:31:41

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

  首先是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.cabmysql_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中. 然后建个任务计划, 定时执行这个程序就可以了
页: [1]
查看完整版本: bat 备份mysql数据库, 并把备份后的文件发送到指定的FTP和邮箱(windows2003)