Syncthing 是一款非常优秀的文件多端同步软件,用来做数据多端同步及备份是最优选择。本篇介绍如何迁移一个Syncthing文件同步服务,跨平台迁移,从Windows平台迁移到Linux平台。
迁移方案的核心是:把 Linux 伪装成原来的 Windows 设备,让其他设备主动喂数据给它。
第1步,保证Linux平台下,Syncthing已经能正常启动,且软件版本与Windows平台的差不多,没有大版本差异。
第2步, 暂停Windows和Linux下的Syncthing服务
Windows平台确保完全停止和退出Syncthing。
第3步,提取 Windows 配置核心文件
在 Windows 上按下 Win + R,输入 %LocalAppData%\Syncthing 并回车。你需要拷贝以下 3个核心文件:
- cert.pem – 身份证书
- key.pem – 身份密钥
- config.xml – 包含所有同步文件夹的配置信息
第4步,上传并覆盖 Linux 配置
假设你的配置文件目录为: /www/wwwroot/syncthing_config ,删除该目录下所有现有的文件 ,将 Windows 的 cert.pem、key.pem、config.xml 上传到这里。
第5步,修改配置文件
由于配置文件是从 Windows 来的,里面的路径是 D:\xxx 格式,必须改成 Linux 识别的路径。
打开/www/wwwroot/syncthing_config/config.xml 。
查找 <folder , 对每一个目录名进行修改,
修改前:path=”D:\SyncFiles” ,这里的SyncFiles 是您同步项的目录, 有一个要改一个,每个都要改
修改后:path=”/var/syncthing/SyncFiles” ,(这里的 /var/syncthing 对应 Docker 内部路径)
查找gui标签下的<address>,确保是0.0.0.0:8384
保存修改。
第6步, 创建同步目录与安全标记
Syncthing 要求同步目录下必须存在 .stfolder 文件夹,否则会报错。
# 创建同步根目录
mkdir -p /www/wwwroot/syncthing_data/SyncFiles
# 创建安全标记目录
mkdir -p /www/wwwroot/syncthing_data/SyncFiles/.stfolder
SyncFiles是同步目录 ,有几个同步文件夹,就必须创建几个。
统一修正权限
chown -R root:root /www/wwwroot/syncthing_config
chown -R root:root /www/wwwroot/syncthing_data
chmod -R 755 /www/wwwroot/syncthing_config
chmod -R 755 /www/wwwroot/syncthing_data
第7步,启动容器
docker start syncthing
然后访问Web管理界面,用原来Windows的管理界面密码登录。
如果你的其他Syncthing设备在线, 会自动从其他设备上下载同步数据过来。
Syncthing系列学习
评论列表(1条)
[…] Syncthing文件同步服务的跨平台迁移 […]