FTP增量同步

自己也是学习好久
亲测好用 一段简单代码就能同步文件。
当个记录吧
前提准备

切记!!如果路径有中文,txt文件编码要改成UTF-8!!!切记!!如果路径有中文,txt文件编码要改成UTF-8!!!切记!!如果路径有中文,txt文件编码要改成UTF-8!!!切记!!如果路径有中文,txt文件编码要改成UTF-8!!!切记!!如果路径有中文,txt文件编码要改成UTF-8!!!
电脑先安装winscp

下一步新建一个TXT文档,位置随意。

TXT内容如下

option batch continue              #默认批处理
option confirm off                    #无需确认直接操作
option transfer binary              #二进制传输
option synchdelete on             #服务端如果没有该文件,则将本地文件删除
open ftp://用户:密码@ftp地址:端口号     如果有加密 请在后面输入-implicit
cd /FTP目录
lcd 本地盘符:\文件夹
synchronize local                   #( 相当于rsync,将有差异的数据由服务器端同步到本地。local:同步到本地。remote:同步到对端)
close
exit

如需排除某个文件夹请在synchronize local   后面加上 -filemask="| 文件夹名称/; 
举例:
synchronize local  -filemask="| test/; 

只传输昨天和今天最新文件。
-filemask=">=yesterday;|

这样就可以在同步的时候排除掉不想要的文件夹。
网上一堆教程都是说的不清不楚!
自己也琢磨了很久!!!

编写 WINSCP.bat 批处理文件,将winscp脚本放在一起批量执行,适合大量服务器同步

start /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=e:\脚本\bak.txt
start /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=e:\脚本\bak2.txt
start /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=e:\脚本\bak3.txt

start /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=e:\脚本\bak3.txt /logsize=10MB /log=d:\logs\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.info 
 #执行完成后生成日志,在D盘LOGS文件夹,每天生成一次日志

把WINSCP.bat加入任务计划就可以每天定时下载服务器的文件了。
切记!!如果路径有中文,txt文件编码要改成UTF-8!!!
如果运行闪退就把脚本TXT文件改为ANSI编码!!!!
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值