0%

BBKSync-BBK备份更新软件说明

BBK 文件同步与备份工具 使用说明

目录

  1. 简介
  2. 安装与启动
  3. 界面概览
  4. 本机配置
  5. 远端电脑配置
  6. BBK 备份
  7. BBK 更新
  8. 文件传输
  9. Windows 共享连接
  10. 电脑名称配置
  11. 连接历史
  12. 开机自启与托盘
  13. 设置文件说明
  14. 常见问题

简介

BBK 文件同步与备份工具是一款局域网内的文件同步、备份与传输工具,基于 TCP 直连通信,无需安装客户端即可在远端电脑上运行备份/同步操作。

主要功能:

  • BBK 备份 — 将本机或远端电脑的 BBK 文件夹备份到指定目录
  • BBK 更新 — 在局域网电脑之间同步 BBK 文件夹(支持推送/拉取/共享文件夹三种方式)
  • 文件传输 — 将本机的文件或文件夹传输到远端电脑的相同路径

安装与启动

运行环境

  • Windows 7 SP1 及以上(推荐 Windows 10/11)
  • 无需安装 .NET 运行时(单文件发布,自带运行时)

启动方式

  1. 直接双击 BBKSync.exe 运行
  2. 首次运行会自动在同目录生成 settings.json 配置文件
  3. 如无写入权限,配置文件会存放在 %LocalAppData%\BBKFileSync\ 目录

界面概览

软件界面分为以下几个区域:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
┌──────────────────────────────────────────────┐
│ [最小化] [最大化] [关闭] BBK文件同步与备份工具 │ ← 自定义标题栏
├──────────────────────────────────────────────┤
│ ┌─ 本机配置 ──────────┐ ┌─ 远端电脑 ──────────┐ │
│ │ BBK文件夹: [ ] │ │ IP/范围: [ ] │ │
│ │ 端口: [ ] │ │ 对方端口: [ ] │ │
│ │ [启动服务] [停止服务]│ │ [测试连接][历史] │ │
│ │ ☐ 开机自启 │ │ [电脑名称] │ │
│ └────────────────────┘ └────────────────────┘ │
│ ┌─ [BBK备份] [BBK更新] [文件传输] ─────────┐ │
│ │ │ │
│ │ (对应标签页内容) │ │
│ │ │ │
│ └──────────────────────────────────────────┘ │
│ ┌─ 传输与进度 ─────────────────────────────┐ │
│ │ [开始备份] [开始更新] [取消] │ │
│ │ ████████████████░░░░ 进度: 正在传输... │ │
│ └──────────────────────────────────────────┘ │
│ ┌─ 日志 ───────────────────────────────────┐ │
│ │ [12:00:01] 工具已启动... │ │
│ │ [12:00:02] 服务已启动,监听端口 25010 │ │
│ │ [复制日志][清空] │ │
│ └──────────────────────────────────────────┘ │
├──────────────────────────────────────────────┤
│ 就绪 192.168.1.100 │ ← 状态栏
└──────────────────────────────────────────────┘

本机配置

设置项 说明 默认值
BBK 文件夹 本机 BBK 源文件夹路径,备份/同步操作以此为根目录 D:\BBK
端口 本机 TCP 服务监听端口(1-65535) 25010
启动服务 启动 TCP 监听服务,等待远端电脑连接
停止服务 停止 TCP 监听服务
开机自启并后台监听 开机自动启动服务并最小化到系统托盘 关闭

启动服务

点击「启动服务」后,软件开始监听指定端口。状态栏右侧会显示本机所有局域网 IP 地址,方便在其他电脑上配置连接。

开机自启

勾选「开机自启并后台监听」后,软件会将自身添加到 Windows 开机启动项(注册表 HKCU\...\Run),每次开机自动启动服务并最小化到托盘。


远端电脑配置

设置项 说明 默认值
IP/范围 对方电脑 IP 地址,支持多种格式(见下方)
对方端口 对方电脑的服务监听端口 与本机端口相同
测试连接 验证 TCP 连接和协议握手是否成功
历史 打开连接历史窗口,管理历史连接记录
电脑名称 打开 IP 与电脑名称配置窗口

IP 输入格式

支持以下格式,可混合使用:

格式 示例 说明
单个 IP 192.168.1.5 直接输入
逗号分隔 192.168.1.5,192.168.1.8 多台电脑
分号分隔 192.168.1.5;192.168.1.8 多台电脑
短范围 192.168.1.5-8 展开为 .5,.6,.7,.8
完整范围 192.168.1.5-192.168.1.8 展开范围内所有 IP
空格分隔 192.168.1.5 192.168.1.8 多台电脑

注意: 最后一位 IP 范围为 1-254,不支持 0 和 255。

测试连接

点击「测试连接」会执行两步验证:

  1. TCP 连接测试 — 尝试建立 TCP 连接(4 秒超时)
  2. 协议握手 — 发送探测请求,验证对方是否运行 BBK 服务(5 秒超时)

常见错误提示:

  • 10060 — 连接超时,请检查 IP 是否正确、网络是否通畅
  • 10013 — 权限被拒绝,可能被防火墙拦截,建议将程序放入纯英文目录运行
  • 10061 — 连接被拒绝,对方未启动服务或端口不正确

BBK 备份

备份来源

选项 说明
本机 从本机 BBK 文件夹备份
局域网电脑(可多台) 从远端电脑拉取 BBK 文件夹备份(需对方启动服务)
Windows 共享 从 Windows 共享文件夹备份(需配置共享连接)

备份目标

备份文件存放在「备份到」指定的父目录下,实际存入格式为:

1
2
3
4
5
6
7
备份目录\
└─ BBK_电脑名称_日期\
├─ (Line1)\ ← 如果检测到 LineNo,按产线分子目录
│ ├─ Bin\
│ ├─ Config\
│ └─ ...
└─ ...

备份选项

选项 说明 默认值
自动获取设备配置 自动从 BBK 文件夹的 SystemConfig.xml 读取设备编号和产线号 开启
Log 文件夹只备份最近 只备份 Log 文件夹中最近 N 天的文件 开启,2 天
备份完成后自动压缩为 zip 备份完成后将文件夹打包为 zip 并删除原文件夹 开启
备份前先执行配置的备份脚本 备份前运行 settings.json 中预设的脚本(如数据库备份) 关闭

忽略规则

勾选「启用忽略规则」后,按行配置正则表达式,匹配到的文件/文件夹将被跳过备份。

语法规则:

  • 每行一条正则表达式(大小写不敏感)
  • 匹配的是相对于 BBK 根目录的路径
  • 使用 / 作为路径分隔符

常用示例:

正则表达式 说明
\.bak$ 忽略所有 .bak 文件
副本 忽略路径中含”副本”的文件
`(^ /).git(/ $)` 忽略所有 .git 文件夹
`(^ /)Temp(/ $)` 忽略顶层 Temp 文件夹

注意: * 号在正则中无效,需用 .* 代替。临时文件(.tmp 后缀)始终自动跳过。


BBK 更新

注意: BBK 更新标签页支持密码保护。如需启用,请在 settings.json 中设置 "UpdatePassword": "你的密码"。留空则不启用密码保护。

更新方向

选项 说明 要求
接收对方更新(对方为源) 从远端电脑拉取 BBK 到本机 对方需启动服务
推送本机给对方(本机为源) 将本机 BBK 推送到远端电脑 对方需启动服务
从共享文件夹更新本机(免安装) 从 Windows 共享文件夹同步到本机 需配置共享连接

更新规则

选项 说明 默认值
Bin 整体替换 勾选:先删除本地 Bin 再整体拷贝。不勾选:按日期增量 关闭
替换出错时自动结束 BBK 软件后重试 文件被占用时自动结束相关进程后重试 开启

更新日志

当需要更新的文件数量 少于 10 个 时,会将每个文件名输出到日志中,方便确认具体更新了哪些文件:

1
2
3
4
[12:00:01] 对方需要 3 个文件,开始发送...
[12:00:01] → Bin/xxx.dll
[12:00:01] → Config/sys.xml
[12:00:01] → Log/latest.log

更新流程

1
2
3
4
5
6
7
1. 客户端连接到目标电脑
2. 目标电脑发送文件清单(路径、大小、修改时间)
3. 客户端比对本地与远端文件差异
4. 计算出需要更新的文件列表
5. 目标电脑逐个发送需要更新的文件
6. 客户端接收并写入本地
7. 完成

文件传输

将本机的文件或文件夹传输到远端电脑的相同绝对路径

操作步骤

  1. 在「路径」框输入或选择要传输的文件/文件夹
  2. 配置对方 IP 和端口
  3. 点击「开始更新」

传输选项

选项 说明 默认值
修改时间与大小都相同则跳过传输 已存在且相同的文件不重复传输 开启
出错时结束 FreeFormAlways* 后重试一次 文件被占用时自动结束相关进程后重试 开启

自动备份

传输前会自动备份对方目标路径的现有文件/文件夹:

  • 文件重命名为:原名-更新自动备份-YYYYMMDD.扩展名
  • 文件夹重命名为:原名-更新自动备份-YYYYMMDD

Windows 共享连接

当选择「Windows 共享」作为备份来源或「从共享文件夹更新本机」时,会显示共享连接配置区域。

设置项 说明 默认值
对方 IP 共享服务器的 IP 地址
用户名 共享账号(留空使用当前 Windows 账号)
密码 共享密码(可留空)
共享路径 UNC 共享路径 c$\BBK
测试连接 验证 SMB 共享连接是否可用

提示: 对方只需共享 BBK 文件夹或开放 c$ 管理共享,无需安装本程序。


电脑名称配置

点击「电脑名称」按钮打开配置窗口,用于设置 IP 与电脑名称的对应关系。

用途:

  • 备份文件夹自动命名为 BBK_电脑名称_日期(而非纯 IP)
  • IP 下拉框显示电脑名称而非 IP

操作:

  • 添加一行 — 新增一条 IP-名称映射
  • 删除所选 — 删除选中的映射
  • 保存并关闭 — 保存配置并关闭窗口

连接历史

点击「历史」按钮打开连接历史窗口,自动记录每次成功连接的信息。

说明
IP/主机 连接的 IP 地址
备注 可编辑的备注信息
上次使用 最后一次连接的时间
连接次数 累计连接次数

操作:

  • 选中记录后可编辑备注,点击「保存备注」
  • 点击「删除记录」可删除选中条目

开机自启与托盘

开机自启

勾选「开机自启并后台监听」后:

  • 软件添加到 Windows 开机启动项
  • 每次开机自动启动服务
  • 自动最小化到系统托盘

系统托盘

  • 双击托盘图标 — 打开主界面
  • 右键托盘菜单 — 「打开主界面」或「退出」
  • 关闭窗口 — 如果启用了开机自启,关闭窗口只会隐藏到托盘,不会退出程序
  • 最小化窗口 — 自动隐藏到托盘

完全退出: 右键托盘图标 → 选择「退出」


设置文件说明

配置文件为 settings.json,位于程序同目录(如无写入权限则在 %LocalAppData%\BBKFileSync\)。

完整配置结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"Version": 2,
"Server": {
"Root": "D:\\BBK",
"Port": 25010,
"AutoStartAndListen": false
},
"Backup": {
"Dest": "D:\\BBK_AutoBackup",
"LogRule": true,
"LogDays": 2,
"IgnoreRegexEnabled": true,
"IgnoreRegexes": "",
"CompressZip": true,
"AutoFetchComputerName": true,
"RunPreBackupBat": false,
"PreBackupScript": "..."
},
"Transfer": {
"Path": "",
"SameSkip": true,
"KillFreeForm": true
},
"FreeForm": {
"ProcessPrefix": "FreeFormAlways"
},
"Computers": [],
"UpdatePassword": ""
}

主要字段说明

字段 类型 说明
Server.Root string BBK 源文件夹路径
Server.Port int TCP 监听端口
Server.AutoStartAndListen bool 开机自启
Backup.Dest string 备份目标父目录
Backup.LogRule bool Log 文件夹天数限制
Backup.LogDays int Log 保留天数
Backup.IgnoreRegexEnabled bool 启用忽略规则
Backup.IgnoreRegexes string 忽略规则(每行一条正则)
Backup.CompressZip bool 备份后压缩
Backup.AutoFetchComputerName bool 自动获取设备配置
Backup.RunPreBackupBat bool 备份前执行脚本
Backup.PreBackupScript string 备份脚本内容
Transfer.SameSkip bool 相同文件跳过
Transfer.KillFreeForm bool 出错时结束进程
FreeForm.ProcessPrefix string 要结束的进程名前缀
Computers array IP 与名称映射列表
UpdatePassword string 更新标签页密码(空=不启用)

常见问题

Q: 启动服务后提示 10013 错误?

A: 权限被拒绝,通常是防火墙拦截。建议:

  1. 将程序放到纯英文路径下运行
  2. 在 Windows 防火墙中允许程序通过
  3. 以管理员身份运行一次

Q: 备份时提示”找不到路径”?

A: 请检查 settings.jsonServer.Root 路径是否存在,路径中的反斜杠需双写(\\)。

Q: 如何修改密码保护?

A: 编辑 settings.json 文件,修改 UpdatePassword 字段。留空表示不启用密码保护。

Q: 如何自定义备份前脚本?

A: 编辑 settings.json 中的 Backup.PreBackupScript 字段,填写批处理脚本内容。勾选「备份前先执行配置的备份脚本」后生效。

Q: 日志在哪里?

A: 程序界面底部有实时日志区域,点击「复制日志」可复制全部内容。崩溃日志记录在程序同目录的 crash.log 文件中。

Q: 如何完全卸载?

A:

  1. 右键托盘图标 → 退出
  2. 删除程序文件夹
  3. 如启用了开机自启,软件退出时会自动清理注册表启动项

技术规格

项目 说明
框架 .NET 10.0 WPF
通信协议 TCP + JSON 帧协议
文件传输缓冲 128 KB
最大帧大小 ~488 MB
时间容差 1 秒(文件修改时间比较)
日志上限 4000 条
进程结束重试 1 次,间隔 500ms