发布于 2017-01-03 03:41:26 | 656 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

syncthing 持续文件同步

Syncthing是一个免费开源的工具,它能在你的各个网络计算机间同步文件/文件夹。


安装

基于本文的目的,我们将使用两个系统,一个是Ubuntu 14.04 LTS, 一个是Ubuntu 14.10 server。为了简单辨别这两个系统,我们将分别称其为系统1系统2

系统1细节:

  • 操作系统: Ubuntu 14.04 LTS server;
  • 主机名server1.unixmen.local;
  • IP地址: 192.168.1.150.
  • 系统用户: sk (你可以使用你自己的系统用户)
  • 同步文件夹: /home/Sync/ (Syncthing会默认创建)

系统2细节:

  • 操作系统: Ubuntu 14.10 server;
  • 主机名server.unixmen.local;
  • IP地址: 192.168.1.151.
  • 系统用户: sk (你可以使用你自己的系统用户)
  • 同步文件夹: /home/Sync/ (Syncthing会默认创建)

在系统1和系统2上为Syncthing创建用户

在两个系统上运行下面的命令来为Syncthing创建用户以及两系统间的同步文件夹。

  1. sudo useradd sk
  2. sudo passwd sk

为系统1和系统2安装Syncthing

在系统1和系统2上遵循以下步骤进行操作。

官方下载页上下载最新版本。我使用的是64位版本,因此下载64位版的软件包。

  1. wget https://github.com/syncthing/syncthing/releases/download/v0.10.20/syncthing-linux-amd64-v0.10.20.tar.gz

解压缩下载的文件:

  1. tar xzvf syncthing-linux-amd64-v0.10.20.tar.gz

切换到解压缩出来的文件夹:

  1. cd syncthing-linux-amd64-v0.10.20/

复制可执行文件"syncthing"到$PATH

  1. sudo cp syncthing /usr/local/bin/

现在,执行下列命令来首次运行Syncthing:

  1. syncthing

当你执行上述命令后,syncthing会生成一个配置以及一些配置键值,并且在你的浏览器上打开一个管理界面。

输入示例:

  1. [monitor]15:40:27 INFO:Starting syncthing
  2. 15:40:27 INFO:Generating RSA key and certificate for syncthing...
  3. [BQXVO]15:40:34 INFO: syncthing v0.10.20(go1.4 linux-386default) unknown-user@syncthing-builder 2015-01-1316:27:47 UTC
  4. [BQXVO]15:40:34 INFO:My ID: BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ
  5. [BQXVO]15:40:34 INFO:No config file; starting with empty defaults
  6. [BQXVO]15:40:34 INFO:Edit/home/sk/.config/syncthing/config.xml to taste oruse the GUI
  7. [BQXVO]15:40:34 INFO:Starting web GUI on http://127.0.0.1:8080/
  8. [BQXVO]15:40:34 INFO:Loading HTTPS certificate: open /home/sk/.config/syncthing/https-cert.pem:no such file or directory
  9. [BQXVO]15:40:34 INFO:Creatingnew HTTPS certificate
  10. [BQXVO]15:40:34 INFO:Generating RSA key and certificate for server1...
  11. [BQXVO]15:41:01 INFO:StartingUPnP discovery...
  12. [BQXVO]15:41:07 INFO:Startinglocal discovery announcements
  13. [BQXVO]15:41:07 INFO:Startingglobal discovery announcements
  14. [BQXVO]15:41:07 OK:Ready to synchronize default(read-write)
  15. [BQXVO]15:41:07 INFO:Device BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ is"server1" at [dynamic]
  16. [BQXVO]15:41:07 INFO:Completed initial scan (rw) of folder default

Syncthing已经被成功地初始化了,网页管理接口也可以通过浏览器访问URL: http://localhost:8080。如上面输入所看到的,Syncthing在你的home目录中的Sync目录下自动为你创建了一个名为default**的文件夹。

默认情况下,Syncthing的网页管理界面只能在本地端口(localhost)中进行访问,要从远程进行访问,你需要在两个系统中进行以下操作:

首先,按下CTRL+C键来终止Syncthing初始化进程。现在你回到了终端界面。

编辑config.xml文件,

  1. sudo nano ~/.config/syncthing/config.xml

找到下面的指令:

  1. [...]
  2. <gui enabled="true" tls="false">
  3. <address>127.0.0.1:8080</address>
  4. <apikey>-Su9v0lW80JWybGjK9vNK00YDraxXHGP</apikey>
  5. </gui>
  6. [...]

在区域中,把127.0.0.1:8080改为0.0.0.0:8080。结果,你的config.xml看起来会是这样的:

  1. <guienabled="true"tls="false">
  2. <address>0.0.0.0:8080</address>
  3. <apikey>-Su9v0lW80JWybGjK9vNK00YDraxXHGP</apikey>
  4. </gui>

保存并关闭文件。

在两个系统上再次执行下述命令:

  1. syncthing

访问网页管理界面

现在,在你的浏览器上打开http://ip-address:8080/。你会看到下面的界面:

网页管理界面分为两个窗格,在左窗格中,你应该可以看到同步的文件夹列表。如前所述,文件夹default在你初始化Syncthing时被自动创建。如果你想同步更多文件夹,点击Add Folder按钮。

在右窗格中,你可以看到已连接的设备数。现在这里只有一个,就是你现在正在操作的计算机。

网页管理界面上设置Syncthing

为了提高安全性,让我们启用TLS,并且设置访问网页管理界面的管理员用户和密码。要做到这点,点击右上角的齿轮按钮,然后选择Settings

输入管理员的帐户名/密码。我设置的是admin/Ubuntu。你应该使用一些更复杂的密码。

点击Save按钮,现在,你会被要求重启Syncthing使更改生效。点击Restart。

刷新你的网页浏览器。你可以看到一个像下面一样的SSL警告。点击显示我了解风险(I understand the Risks)的按钮。接着,点击“添加例外(Add Exception)“按钮把当前页面添加进浏览器的信任列表中。

输入前面几步设置的管理员用户和密码。我设置的是admin/ubuntu

现在,我们提高了网页管理界面的安全性。别忘了两个系统都要执行上面同样的步骤。

连接到其它服务器

要在各个系统之间同步文件,你必须各自告诉它们其它服务器的信息。这是通过交换设备IDs(device IDs)来实现的。你可以通过选择“齿轮菜单(gear menu)”(在右上角)中的”Show ID(显示ID)“来找到它。

例如,下面是我系统1的ID.

复制这个ID,然后到另外一个系统(系统2)的网页管理界面,在右边窗格点击Add Device按钮。

接着会出现下面的界面。在Device区域粘贴系统1 ID **。输入设备名称(可选)。在地址区域,你可以输入其它系统( LCTT 译注:即粘贴的ID所属的系统,此应为系统1)的IP地址,或者使用默认值。默认值为dynamic。最后,选择要同步的文件夹。在我们的例子中,同步文件夹为default**。

一旦完成了,点击save按钮。你会被要求重启Syncthing。点击Restart按钮重启使更改生效。

现在,我们到系统1的网页管理界面,你会看到来自系统2的连接和同步请求。点击Add按钮。现在,系统2会要求系统1分享和同步名为default的文件夹。

接着重启系统1的Syncthing服务使更改生效。

等待大概60秒,接着你会看到两个系统之间已成功连接并同步。

你可以在网页管理界面中的Add Device区域核实该情况。

添加系统2后,系统1网页管理界面中的控制窗口如下:

添加系统1后,系统2网页管理界面中的控制窗口如下:

现在,在任一个系统中的“default”文件夹中放进任意文件或文件夹。你应该可以看到这些文件/文件夹被自动同步到其它系统。

本文完!祝同步愉快!



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务