我需要编写一个每天运行的批处理文件(Win server 2003)并将 sql-server 备份文件上传到 ftp 帐户(备份)?
我有主机、用户名和密码以及包含文件的文件夹的路径,文件名每天都是新的,所以我不知道。
该文件夹仅包含一个文件。
答案1
您需要让 SQL 作业创建一个固定名称的文件,我们可以稍后重命名它。
步骤1 机器 A 运行 SQL 备份作业,并按照 SQL 作业进行安排。
第2步 SQL 备份完成后,机器 A 将运行执行 FTP_upload.bat 的计划任务,将 SQL .bak 文件上传到 FTP 服务 B。
FTP_upload.bat 的内容
ftp -s:ftptransfer.cfg
ftptransfer.cfg 的内容
Open <ipAddress of FTP service>
<username>
<password>
Binary
Put <full path and name of .bak file> <remote path at location>
quit
相应地修改计划任务时间以适应您的机器/文件大小的备份和传输时间
步骤3 传输完成后,在机器 A 上创建另一个计划任务来执行 rename_backup.bat
rename_backup.bat 的内容
@echo off
FOR /F "TOKENS=1,2*" %%A IN ('DATE/T') DO SET DATE=%%B
SET DATE=%DATE:/=%
FOR /F "TOKENS=*" %%A IN ('TIME/T') DO SET TIME=%%A
SET TIME=%TIME::=%
set TODAY=%date%
echo %TODAY%"
rename ".\SQL.bak" "SQL_%today%.bak"
@echo on