# 文件实时同步传输 **Repository Path**: tobylibin/file-sync ## Basic Information - **Project Name**: 文件实时同步传输 - **Description**: 文件传输,适用于企业内部多节点业务系统之间数据文件的传输场景。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-10-12 - **Last Updated**: 2024-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件实时同步传输 fts-sync 1.0 #### 功能特性 文件实时同步传输是一个传输工具,它具有以下功能特点。 1. 支持实时监控,在多节点上安装了传输工具后,程序会监听文件,实时同步文件到指定目标节点。 2. 支持API调用,通过API指令让文件传输按照要求传输。 3. 源节点任何(创建、修改、删除)操作后,都会把文件内容同步到目标节点。 4. 支持断点续传、md5完整性校验。 5. 支持流程化传输:A节点同时传输文件到B、C节点,或者A节点先传B节点再传C节点。 6. 支持定时文件压缩发送。 7. 使用场景:适用多个业务系统之间文件实时传输;有实时文件备份需求的场景;有定时归档的场景;有通过API调用传输的需求。 8. 支持Linux和window操作系统,推荐linux系统。 9. 可支持数百个节点之间的文件传输 #### 开发语言 java语言 #### 安装教程 1. 准备两个节点机器(例:192.168.1.100 、 192.168.1.101 ),这里模拟 192.168.1.100 实时同步文件给 192.168.1.101。 2. 两台机器需要配置java虚拟机 jdk1.8版本。 3. 下载资源包 http://47.100.110.135/fts-sync/fts-sync-1.0.zip ,然后分别解压到两个节点的机器上,程序可以放在机器的任意目录下。 4. 解压后修改配置文件,在 192.168.1.100 的机器上修改解压后的配置文件“fts-sync/fts-cfg/fts.cfg”,修改如下: ``` { "protocol":"http", "fts_id":"1622c67d-521b-4335-9088-7686e5f4eaa7", "fts_port":"13601", "platform_ip":"", "platform_port":"", "default_pnode_config": { "trans_pnode_sftp_id": "sftp001", "trans_pnode_sftp_ip": "127.0.0.1", "trans_pnode_sftp_port": "12222", "trans_pnode_sftp_user": "", "trans_pnode_sftp_pwd": "" }, "default_snode_config": [ { "trans_snode_sftp_id": "sftp001", "trans_snode_sftp_ip": "192.168.1.101", "trans_snode_sftp_port": "12222", "trans_snode_sftp_user": "", "trans_snode_sftp_pwd": "" } ], "default_sync_file_config": { "sync_node_type": "single", "sync_pnode_dir": "/src/data", "sync_snode_dir": "/target/data", "sync_interval_seconds":"2", "sync_trans_resume": "1", "sync_compare_policy":"time" } } ``` 关键属性说明: "trans_snode_sftp_ip": "192.168.1.101" -- 目前节点的IP。 "sync_pnode_dir": "/src/data", --源节点的目录路径。 "sync_snode_dir": "/target/data", --目标节点的目录路径。 5. 同上、在192.168.1.101 的机器上修改解压后的配置文件“fts-sync/fts-cfg/fts.cfg”,修改如下: ``` { "protocol":"http", "fts_id":"1622c67d-521b-4335-9088-7686e5f4eaa7", "fts_port":"13601", "platform_ip":"", "platform_port":"", "default_pnode_config": { "trans_pnode_sftp_id": "sftp001", "trans_pnode_sftp_ip": "127.0.0.1", "trans_pnode_sftp_port": "12222", "trans_pnode_sftp_user": "", "trans_pnode_sftp_pwd": "" } } ``` 说明: 因为当前节点只作为接收节点,所以只需要配置sftp信息即可。 6. 配置好后,分别执行解压目录中的start.sh脚本启动两台机器上的程序 7. 测试:在 192.168.1.100的目录/src/data中上传一个文件、或者删除一个文件,文件会实时同步给 192.168.1.101 机器上。 #### 使用说明 1. 技术支持 : #### 参与贡献 暂无 #### 案例