【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】

一开始我想自己一步一步贴图往上写,写了之后一对比,发现别人写得更好!!!那我就引用大佬的,剩下自己在补充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、选择任务计划程序

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第1张图片

 

2、创建任务

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第2张图片

 

3、勾选“不管用户是否登录都要运行”、“使用最高权限运行

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第3张图片

 

4、每天定时任务,就勾选每天

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第4张图片

 

如果想每分钟执行一次,就高级设置,勾选“重复任务间隔”、“已启用”,持续时间根据自己需要选择

注意:时间可以自己手打进去,选项中没有1分钟

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第5张图片

 

5、添加操作,起始于(可选):执行文件所在目录

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第6张图片

 

6、设置  请勿启动新实例 。 其他不用管

【FTP+BAT】Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务【详细】_第7张图片

 

 


如果还有需要定时删除前面几天的备份文件,可以参考以下链接:

Windows使用bat脚本定时备份文件(夹)并删除一定日期之前的备份和日志

你可能感兴趣的:(Windows)