文件文件夹同步

文件文件夹同步快速认识

dataX文件同步相关插件

DATAX之FTPReader

DATAX之FTPReader
参考URL: https://blog.csdn.net/paicmis/article/details/79491902

FtpReader提供了读取远程FTP文件系统数据存储的能力。在底层实现上,FtpReader获取远程FTP文件数据,并转换为DataX传输协议传递给Writer。

FtpReader实现了从远程FTP文件读取数据并转为DataX协议的功能,远程FTP文件本身是无结构化数据存储,对于DataX而言,FtpReader实现上类比TxtFileReader,有诸多相似之处。目前FtpReader支持功能如下:

功能与限制
** 支持且仅支持读取TXT的文件,且要求TXT中schema为一张二维表。**
支持类CSV格式文件,自定义分隔符。
支持多种类型数据读取(使用String表示),支持列裁剪,支持列常量
支持递归读取、支持文件名过滤。
支持文本压缩,现有压缩格式为zip、gzip、bzip2。
多个File可以支持并发读取。
暂时不能做到:
单个File支持多线程并发读取,
单个File在压缩情况下,从技术上无法支持多线程并发读取。

特别需要注意的是,DataX会将一个作业下同步的所有Text File视作同一张数据表。用户必须自己保证所有的File能够适配同一套schema信息。读取文件用户必须保证为类CSV格式,并且提供给DataX权限可读。

DATAX之FTPReader测试

ftp文件到文件测试:
测试文件内容如下:

1,true,34,5,2018.11.21

配置json如下:

{
    "setting": {},
    "job": {
        "setting": {
            "speed": {
                "channel": 2
            }
        },
        "content": [
            {
                "reader": {
                    "name": "ftpreader",
                    "parameter": {
                        "protocol": "ftp",
                        "host": "11.12.112.84",
                        "port": 21,
                        "username": "test",
                        "password": "test",
                        "path": [
                            "/tmp/*"
                        ],
                        "column": [
                            {
                                "index": 0,
                                "type": "long"
                            },
                            {
                                "index": 1,
                                "type": "boolean"
                            },
                            {
                                "index": 2,
                                "type": "double"
                            },
                            {
                                "index": 3,
                                "type": "string"
                            },
                            {
                                "index": 4,
                                "type": "date",
                                "format": "yyyy.MM.dd"
                            }
                        ],
                        "encoding": "UTF-8",
                        "fieldDelimiter": ","
                    }
                },
                "writer": {
                    "name": "ftpwriter",
                    "parameter": {
                        "protocol": "ftp",
                        "host": "11.12.112.84",
                        "port": 21,
                        "username": "test",
                        "password": "test",					
                        "path": "/data/",
                        "fileName": "shihf",
                        "writeMode": "truncate",
                        "format": "yyyy-MM-dd"
                    }
                }
            }
        ]
    }
}

文件同步需要考虑的问题点

[推荐]超大文件同步如何实现?
参考URL: https://blog.csdn.net/raysync/article/details/81669429

  1. 断点续传
    对于大量文件拷贝黏贴不靠谱,无法断点续传,遇到锁定文件可能出错。拷贝黏贴只适合小量文件,习惯好的人一般会拷贝完检查一下源和目的文件夹的文件数量和大小。
  2. 文件对比
    复制新的或修改过的文件到目标机器上。那么判断新的和修改过的文件,就需要文件对比。
  3. 同一目录下重复文件删除
    。。。

其它文件同步方案

免费个人数据备份软件介绍:FreeFileSync、Syncthing
参考URL: https://cloud.tencent.com/developer/news/180449
五款最好的免费同步软件
参考URL: https://blog.csdn.net/ohhmygod/article/details/7928035

  • FreeFileSync 是款免费开源的文件同步工具,支持多种(双向/单项)同步方式,历史版本,定时自动监控等等。
  • Syncthing开源的,基于P2P的同步工具。使用Go语言编写。
  • Btsync 收费。
  • GoodSync 收费。

综合对比总结:FreeFileSync 是直接连IP地址或者盘符的,完全的双向同步软件。

FreefileSync

用Syncthing感觉还是有些吃力,准备换同步软件了
参考URL: http://club.tgfcer.com/thread-7431100-1-3.html

FreeFileSync 是一个免费的、开源的文件夹比较和同步软件。支持Windows、Linux、Mac OS X,它也适用于64位操作系统。 程序安装默认可选择一个标准的安装程序或作为一个便携式应用程序。 采用一个干净、简单、直观的界面,以同步为目标,提供了多种功能。

主要有一下几个优点:

  1. 使用比较简单,服务器端甚至连软件都不用装,只要开ssh服务就好了;
  2. 虽然是同步软件,但是有个RealTimeSync所以也可以很快的将修改的文件同步过去;
  3. CPU占用低,速度快(这个我还需要同步大量细小文件进行测试,目前看来还行);
  4. 即将推出手机版,期待
  5. 不要钱
  6. 也支持版本控制,这个很重要

FreeFileSync 对大量细碎文件效率还不错,基本每秒70~150个文件左右。
而且远程SFTP上就算有几万个文件突然更新,也能在几秒内找到并开始同步。

Syncthing

Syncthing简单使用
参考URL: https://blog.csdn.net/IKQMKSQM/article/details/82116343
使用开源同步工具 Syncthing 控制你的数据 | Linux 中国
参考URL: https://blog.csdn.net/F8qG7f9YD02Pe/article/details/83506425

Syncthing - 免费开源替代 Resilio / BT Sync 的文件夹同步工具神器 (搭建同步网盘)。
Syncthing 则有着自己非常特别的优点,受到众多高手们的推荐,被誉为是 Resilio Sync / BT Sync 和 Dropbox 的最佳开源替代品。

Syncthing 免费且开源,跨平台支持 Windows、Mac、Linux、Android 等主流平台,除了 PC、手机以外,在部分路由器、树莓派等硬件上都能轻松运行,它将以网页版的形式呈现,并且 Syncthing 还提供了中文界面的支持。

使用GO开发,开源的文件同步系统,它使用了其独有的对等自由块交换协议,速度很快,据说可以替换BitTorrent Sync。

你可能感兴趣的:(ETL工具)