首先是 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中. 然后建个任务计划, 定时执行这个程序就可以了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库