Syncthing在同一台设备上不同的文件夹之间来实现文件夹的同步 利用Syncthing备份到云储存

chenyajun  2023-07-31 13:00:37  阅读 1301 次 评论 0 条

Syncthing是一款用于在不同设备之间进行文件同步的工具。它通过在多台设备之间建立点对点的连接,实现文件的自动同步。每个设备都可以选择要同步的文件夹,但是不能在同一台设备上指定文件夹进行同步。如果您想要在同一台设备上实现文件夹的同步,利用docker安装syncthing来实现,下面以我操作 

项目给出的拉取镜像安装是

$ docker pull syncthing/syncthing
$ docker run -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp -p 21027:21027/udp \
    -v /wherever/st-sync:/var/syncthing \
    --hostname=my-syncthing \
    syncthing/syncthing:latest

上面-v /wherever/st-sync:/var/syncthing \就是说明冒号前面是本地的挂载路径,后面是syncthing目录,这样挂载后宿主机目录/wherever/st-sync下面有配置目录config和默认同步目录Sync,但是这样在syncthing选择或创建只能在/wherever/st-sync下面,还是不能选择宿主机其他目录,想实现的是能从宿主机根目录任意选择

我用了两种方案来实现,可以任选其一,都是修改挂载目录来实现

1, 把/var/syncthing挂载到系统根目录

$ docker pull syncthing/syncthing
$ docker run -p 8385:8384 -p 22001:22000/tcp -p 22001:22000/udp -p 21028:21027/udp \
    -v /:/var/syncthing \
    --hostname=my-syncthing \
    syncthing/syncthing:latest

上面映射的端口,因为系统本身已经有这个,避免冲突,换了

上面-v /:/var/syncthing \就是挂载到系统根目录,但是有个不好看的就是,配置目录config和默认同步目录Sync也在根目录,如果没有其他影响这个也可以

2,把上面如Sync目录挂到系统根目录

之所以想这样,是因为系统挂载了网络云储存,本地有挂载目录,想选择宿主机目录里一些重要的配置文件,让他自动备份到云存储,所以这样可以任意选择文件,然后同步到云存储中进行备份

docker run -p 8385:8384 -p 22001:22000/tcp -p 22001:22000/udp -p 21028:21027/udp \
     --name syncthing\
    -v /wherever/st-sync:/var/syncthing \     # 这个正常挂载随便了,主要是下面这个
    -v /:/var/syncthing/Sync \     # 把内置syncthing/Sync目录挂载到系统根目录
    --hostname=docker-syncthing \
    syncthing/syncthing:latest

这个配置文件还在/wherever/st-sync下面,这样系统根目录不会有config和Sync两个文件夹

进入syncthing页面,把默认的文件夹Default Folder移除

Syncthing在同一台设备上不同的文件夹之间来实现文件夹的同步 利用Syncthing备份到云储存-陈亚军博客

注意:从根目录开始选择的话,syncthing设置文件夹路径就是/var/syncthing/Sync,比如我设置添加/var/syncthing/Sync/5555

Syncthing在同一台设备上不同的文件夹之间来实现文件夹的同步 利用Syncthing备份到云储存-陈亚军博客

这样就会在根目录创建5555文件夹,因为没有这个文件夹,所以会自动创建,如果想选择其它已经存在的文件夹,就是/var/syncthing/Sync/后面这里带上从根目录开始的具体文件夹路径,比如想选择www目录,那就是/var/syncthing/Sync/www,想选择www下666文件夹,那么就是/var/syncthing/Sync/www/666,以此类推

Syncthing在同一台设备上不同的文件夹之间来实现文件夹的同步 利用Syncthing备份到云储存-陈亚军博客 

利用上面这样就可以使用syncthing在同一台设备上不同的文件夹之间来实现文件夹的同步,因为主安装的syncthing和Docker安装的syncthing就是两个设备了

本文地址:https://chenyajun.net/index.php/post/139.html
版权声明:本文为原创文章,版权归 chenyajun 所有,欢迎分享本文,转载请保留出处!

评论已关闭!