一开始我想自己一步一步贴图往上写,写了之后一对比,发现别人写得更好!!!那我就引用大佬的,剩下自己在补充QAQ
资源列表如下:
Windows Server 2012 R2
一、开通FTP服务器
要想在两个机器之间实现传输文件,那就得开通FTP服务
Windows Server 2012R2 FTP服务介绍及搭建
二、写脚本文件
@echo off
:: 总的目录
set Source=
:: 本地要备份的目录,必须以\结尾
set sourcePath=%Source%\data\
:: 本地存放备份压缩包路径
set rarPath=%Source%\BackupRAR\
:: 日志存放本地路径
set logDir=%Source%\log\
:: FTP命令文件
set FTPFile=%Source%\ftp.txt
:: 备份压缩包文件远程存储路径(可以是网络路径,前提是必须要有权限管理该路径下的文件夹)
set bakDataTargetPath=
:: 备份日志文件的远程存储路径
set bakLogTargetPath=
:: 截取日期函数
set dateStr=%date:~0,4%%date:~5,2%%date:~8,2%
:: 时间戳
set timeStr=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
:: 日志文件名
set logFile=%logDir%log
::==================设置登录的FTP服务器IP、账号密码=============
set FTP_IP=
set username=
set password=
::==============================================================
:: 创建对应文件
if not exist %rarPath% mkdir %rarPath%
if not exist %sourcePath% mkdir %sourcePath%
if not exist %logDir% mkdir %logDir%
if not exist %FTPFile% (type nul > %FTPFile%)
if not exist %logFile% (type nul > %logFile%)
::压缩文件到指定目录下
rar a -m5 -ep1 -r %rarPath%%dateStr%.rar %sourcePath%
echo %date:~0,10% %time% The File [%sourcePath%] RAR to [%dateStr%.rar] Successful >>%logFile%
::使用FTP传输文件
echo open %FTP_IP%>>%FTPFile%
echo %username%>>%FTPFile%
echo %password%>>%FTPFile%
::进入目标备份服务器的指定文件夹
echo cd %bakDataTargetPath%>>%FTPFile%
echo send %rarPath%%dateStr%.rar>>%FTPFile%
echo cd ..>>%FTPFile%
echo cd log>>%FTPFile%
echo send %logFile%>>%FTPFile%
echo bye>>%FTPFile%
echo %date:~0,10% %time% The File [%dateStr%.rar] successfully transferred to the server>>%logFile%
ftp -s:%FTPFile%
::清空文本内容
@echo.>%FTPFile%
三、设置定时任务
1、选择任务计划程序
2、创建任务
3、勾选“不管用户是否登录都要运行”、“使用最高权限运行”
4、每天定时任务,就勾选每天
如果想每分钟执行一次,就高级设置,勾选“重复任务间隔”、“已启用”,持续时间根据自己需要选择
注意:时间可以自己手打进去,选项中没有1分钟
5、添加操作,起始于(可选):执行文件所在目录
6、设置 请勿启动新实例 。 其他不用管
如果还有需要定时删除前面几天的备份文件,可以参考以下链接: