利用syncthing实现同设备不同文件夹实时同步
以前写过一篇syncthing在windows和linux下的安装与使用:syncthing搭建私人网盘分享,但是,syncthing只支持不同设备的文件夹同步,如果想实现同设备的不同文件夹的实时同步该咋办呢?
思路:
syncthing只支持不同设备间的文件同步,如果想实现同个设备下文件的实时备份,可以借助docker容器实现这个需求,本机上安装syncthing,docker里也安装一个,然后映射到本地文件夹,这样就相当于两个设备之间同步,实现了同个设备间的同步问题。
上面的文章中已经介绍过本机安装syncthing的步骤,这里就不多赘述,下面介绍下docker安装syncthing的步骤。
docker安装syncthing
docker查找syncthing镜像:docker search syncthing
dockersearchsyncthing
如上图第二条是官方开源镜像
拉取镜像:docker pull syncthing/syncthing
run镜像:
docker run --name syncthing -d --restart=always -p 8385:8384 -p 22001:22000 -v /home/zhaohy/myspace/syncthingDocker:/var/syncthing syncthing/syncthing
如果我们本地原先装过syncthing的话,8384和22000端口肯定是有占用的了,所以上面这条命令用8385映射docker里面的8384,22001映射docker里面的22000,用本机的/home/zhaohy/myspace/syncthingDocker文件夹映射docker里面默认存储的/var/syncthing文件夹。
浏览器访问http://127.0.0.1:8385/就可以访问docker里面的syncthing设置页面了,注意设置同步文件夹的时候docker里面的文件夹要用/var/syncthing路径下的,其他操作就和第一篇文章里面讲的一样了。
如果想进入docker里的syncthing容器则执行docker exec -it syncthing /bin/sh
即可,exit命令退出容器。
这样就能在本机上同步不同文件夹了,比如ubuntu下面的/home目录,可以实时同步到外接移动硬盘上就不怕哪天挂掉丢失资料啦(以防万一,ubuntu还没挂过!)。