在CentOS 8 / CentOS 7上安装和配置Syncthing

同步是一种开源的连续文件同步,用于在网络中两台或更多台计算机之间同步文件。本教程旨在帮助您在CentOS 8 / CentOS 7 Linux机器上安装和配置Syncthing。同步易于安装和维护,并允许您轻松地在本地网络或Internet上的计算机之间同步文件。

同步核心设计原则

同步基于以下主要目标:

  • 防止数据丢失 –通过防止用户文件损坏来保护用户数据。
  • 使用方便 –同步必须友好,可理解且全面。
  • 抵御攻击者的安全 –禁止未经授权的人士窃听或更改您的数据。
  • 对于个人 –同步主要是为个人用户提供安全可靠的易于使用的文件同步。
  • 自动的 –仅在绝对必要时才需要与用户进行交互。
  • 普遍可用 –必须在所有流行的计算机上运行同步。

在CentOS 8 / CentOS 7上安装Syncthing

CentOS和其他RHEL Linux发行系列没有正式支持的存储库,这些存储库提供用于安装的RPM软件包。因此,请从官方源档案下载并在Centthing 8 / CentOS 7上安装并安装Syncthing。

最新版本 操作系统同步示例:

curl -s https://api.github.com/repos/syncthing/syncthing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -

解压缩下载的档案。

tar xvf syncthing-linux-amd64*.tar.gz

有一个叫做 同步处理 在从解压缩创建的文件夹中。将二进制文件复制到 / usr /本地/ bin 目录。

sudo cp syncthing-linux-amd64-*/syncthing  /usr/local/bin/

检查Syncthing的版本,以确保二进制文件已被复制。

$ syncthing --version
syncthing v1.3.4 "Fermium Flea" (go1.13.7 linux-amd64) [email protected] 2020-01-14 07:01:03 UTC

将同步设置为在启动时自动启动

使用Linux Systemd管理同步服务-允许用户启动,停止,启用和禁用服务单元。

让我们创建一个新文件。

sudo vi /etc/systemd/system/[email protected]

将以下内容粘贴到文件中。

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/local/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

更新系统服务列表。

sudo systemctl daemon-reload

启用并启动服务。

sudo systemctl start [email protected]$USER
sudo systemctl enable [email protected]$USER

检查服务状态。

$ sudo systemctl status [email protected]$USER
● s[email protected] - Syncthing - Open Source Continuous File Synchronization for cloud/user
   Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-03-08 21:19:04 EAT; 1min 7s ago
     Docs: man:syncthing(1)
 Main PID: 7739 (syncthing)
    Tasks: 9 (limit: 11512)
   Memory: 29.1M
   CGroup: /system.slice/system-syncthing.slice/[email protected]
           └─7739 /usr/local/bin/syncthing -no-browser -no-restart -logflags=0

Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Loading HTTPS certificate: open /home/cloud-user/.config/syncthing/https-cert.pem: no su>
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Creating new HTTPS certificate
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: TCP listener ([::]:22000) starting
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Relay listener (dynamic+https://relays.syncthing.net/endpoint) starting
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: GUI and API listening on 127.0.0.1:8384
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: My name is "cent8.novalocal"
Mar 08 21:19:05 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Mar 08 21:19:20 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Detected 1 NAT service
Mar 08 21:19:36 cent8.novalocal syncthing[7739]: [BAMMV] INFO: Joined relay relay://85.10.202.70:22067

您也可以使用其他用户帐户启动服务。 $ USER 用户名。

访问同步界面

同步管理GUI由systemd自动启动,并在已配置的监听地址和端口上可用 8384。 如果 -gui-address="ip:port" 没有提供选项。服务是 https://localhost:8384/

$ sudo ss -tunelp | grep 8134
udp     UNCONN   0    0   [::]:35129  [::]:* users:(("syncthing",pid=260527,fd=16)) uid:1000 ino:4508134 sk:38 v6only:1 <-> 

默认情况下,同步管理界面设置为允许无需密码即可进行远程访问。

打开设置并设置密码。 设置> GUI

在CentOS 8 / CentOS 7上安装和配置Syncthing

然后,将要求您进行身份验证。

在CentOS 8 / CentOS 7上安装和配置Syncthing

当您访问Syncthing GUI时,将看到以下界面。

在CentOS 8 / CentOS 7上安装和配置Syncthing

使用同步在两个设备之间同步数据

为了能够在两台或多台计算机之间同步数据
同步,确保所有内容均已安装并配置
系统。设置完成后,您需要通知每个设备其他设备
终端。

同步设备ID

这是装置编号“。
设备ID是受密码保护的唯一标识符,
在首次启动时作为密钥生成的一部分生成
同步。这两个设备仅在连接时才相互通信。
两者都配置有彼此的设备ID。从获取设备ID 操作>显示ID

添加同步设备ID

为了使两个设备能够相互通信,添加远程设备两者的右下角 输入相反的设备ID

在CentOS 8 / CentOS 7上安装和配置Syncthing

还有 选择一个文件夹 您想分享什么。设备名称是可选的,只是外观。如果需要,您可以稍后进行更改。 ”保存到“新设备将显示在GUI的右侧(但 断线),并提示您重新启动。

注意事项: 默认共享文件夹为 〜同步。 确保在进行更改(例如添加同步目录)后重新启动Syncthing 操作>重新启动。

祝你好运,玩得开心!还有更多 文献资料 如果您有任何问题,请随时发表您的问题 支持论坛

类似指南:

如何为Ceph对象网关存储配置AWS S3 CLI

使用虚拟数据优化器(VDO)进行存储压缩和重复数据删除

在CentOS 8 / CentOS 7上使用Heketi设置GlusterFS存储

Sidebar