详细步骤记录如何用Syncthing实时同步树莓派上的文件 |
您所在的位置:网站首页 › 树莓派任务管理器快捷键 › 详细步骤记录如何用Syncthing实时同步树莓派上的文件 |
在本教程中,我将向您展示如何在Raspberry Pi上使用Syncthing软件同步文件。 Syncthing是一款旨在实时同步树莓派等多个设备之间文件的软件。 数据在节点之间使用TLS进行同步。这种加密将提供安全性和隐私性,使得数据在传输过程中很难被人窃取。 每个节点都需要通过使用强大的加密证书来识别自己。如果节点不能提供证书,将无法连接,确保不会有刁民轻易接入。 使用Syncthing,可以将文件从Windows、Mac OS或基于Linux的设备同步到Raspberry Pi。 Syncthing的客户端可用于这些操作系统,使其易于使用。 设备清单在树莓派上使用Syncthing用到了如下的设备清单,点击链接直达优惠购买 建议 ? 树莓派 ? 高速SD卡 (8GB以上) 网络连接 可选 ? 树莓派外壳 ? USB键盘 ? USB鼠标我使用了Raspberry Pi 400测试了本教程,运行的是最新版本的Raspberry Pi OS Buster。 安装Syncthing到Raspberry Pi在本节中,将学习如何使用简单的步骤轻松安装Syncthing软件到Raspberry Pi。 要安装软件,需要添加项目的PGP密钥,并将其包仓库作为源码添加。 1. 在给Pi安装文件同步软件之前,首先要更新系统。 可以运行以下两个命令来更新Raspberry Pi。 sudo apt update sudo apt full-upgrade2. 接下来,需要确保已经安装了apt-transport-https包。 这个包可以让包管理器处理通过HTTPS协议操作的源。默认情况下,不支持这个功能。 一般来说,现在大多数操作系统都提供了这个功能,但是,像Raspberry Pi OS Lite这样的修剪过的系统可能会删除。 可以运行下面的命令来安装所需的软件包。 sudo apt install apt-transport-https3. 最后,将Syncthing PGP密钥添加到包管理器的密钥链中。 这些密钥旨在确保正在安装的软件包已被正确签名,并且不是来自未知的来源。 在Raspberry Pi上使用以下命令添加。 curl -s https://syncthing.net/release-key.txt | sudo apt-key add -4. 添加了密钥后,现在可以添加存储库本身。 在这个Raspberry Pi项目中,使用Syncthing软件的稳定分支。 通过下面的命令将版本库添加到源列表中。 echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list5. 从仓库安装Syncthing之前,需要更新软件包列表。 在设备上运行以下命令来刷新软件包列表。 sudo apt update6. 最后,把Syncthing软件安装到Raspberry Pi上。 现在已经添加了软件包仓库,需要做的就是运行以下命令来安装软件。 sudo apt install syncthing 允许外部访问Syncthing Web界面默认情况下,无法在设备上访问Syncthing网页界面,可以修改配置以允许外部访问。 1. 第一个任务是获取当前分配给Raspberry Pi的本地IP地址。 请注意,在完成本节之前,应该为Raspberry Pi设置一个静态IP地址。 可以通过下面的命令来查看Pi的本地IP。 hostname -I2. 在继续之前,需要运行一次Syncthing来生成配置文件。 在本指南中,我只会在pi用户下运行Syncthing。 syncthing初次运行后,按CTRL+C键杀死应用程序。 3. 第一次运行后,Syncthing会创建需要的所有配置文件。 这个配置文件只有在用pi用户运行Syncthing软件时才能使用。 通过使用下面的命令,使用nano文本编辑器开始编辑所需的配置文件。 nano ~/.config/syncthing/config.xml4. 在这个文件中,需要找到以下一行: 为了方便查找这一行,可以使用CTRL+W快捷键进行搜索。 127.0.0.1:8384将这行定义的本地IP(127.0.0.1)替换为Pi的本地IP地址。 例如,使用Pi的IP,这一行最终会变成以下内容。 192.168.0.193:8384使用本地IP地址,只限制同一本地网络的用户访问Web界面。 另外,如果想允许访问任何地址,请使用IP “0.0.0.0”。 5. 更改IP后,按CTRL + X,然后按Y,再按ENTER键保存文件。 在Raspberry Pi上设置Syncthing作为一项服务Syncthing的Web界面现在可以在树莓派之外访问了,需要做最后一项任务:为软件创建和启用一个服务。该服务将允许Syncthing在系统启动时启动,并使其易于停止和重启。 1. 需要再次使用nano来为服务创建文件。 服务来自于Syncthing的官方GitHub。 运行以下命令,开始在”/lib/systemd/system “目录下写入文件。 sudo nano /lib/systemd/system/syncthing.service2. 在该文件中,输入以下几行: [Unit] Description=Syncthing - Open Source Continuous File Synchronization Documentation=man:syncthing(1) After=network.target [Service] User=pi ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0 Restart=on-failure RestartSec=5 SuccessExitStatus=3 4 RestartForceExitStatus=3 4 # Hardening ProtectSystem=full PrivateTmp=true SystemCallArchitectures=native MemoryDenyWriteExecute=true NoNewPrivileges=true [Install] WantedBy=multi-user.target这几行决定了操作系统将如何处理Raspberry Pi上的Syncthing。 3. 输入所有行数后,按CTRL + X,然后按Y,再按ENTER键保存文件。 4. 创建了服务后,现在可以让它在启动时启动。 需要做的就是运行以下命令。 sudo systemctl enable syncthing5. 接下来,启动服务,这样就可以开始访问Syncthing网络界面了。 为了启动服务,需要再次使用systemctl命令。 sudo systemctl start syncthing6. 验证Syncthing服务是否在Raspberry Pi上启动。 可以用下面的命令来验证。 sudo systemctl status syncthing如果服务已正确启动并正在运行,应该会看到消息中显示以下内容。 Active: active (running) 使用Raspberry Pi的Syncthing Web界面现在应该有Syncthing软件在Raspberry Pi上运行着。终于可以继续配置软件,并添加一个设备来同步文件。为了使其更容易操作,我把它分成几个小部分。 网页界面使得设置和连接设备的过程非常简单。 连接到Syncthing网络界面在使用网页界面之前,需要先在网页浏览器中加载它。 1. 要访问Web界面,需要知道Raspberry Pi的IP地址。 有了IP后,可以在你选择的网络浏览器中进入以下网址。 http://[PIIPADDRESS]:8384无论你输入什么,端口号(8384)都必须保留在最后,因为这是Syncthing软件监听的地方。 2. 进入网址后,就会进入Syncthing的网页界面。 请注意,设置好用户名和密码后,需要先登录才能看到以下界面。 默认情况下,Syncthing没有定义用户名和密码,任何用户都可以访问界面并调整你的设置。 为了阻止用户进行任何不必要的破坏,可以定义登录细节。 1. 如果你之前没有设置过用户名和密码,你会看到一条信息,警告你有危险。 为了快速进入设置页面,可以点击这个警告的 “设置 “按钮。 如果这条信息没有显示给你,也可以通过点击右上角的 “操作”(1.)下拉框,选择 “设置”(2.),找到设置页面。 2. 在弹出的设置页面内,需要改到 “GUI “标签。 点击弹出的顶部栏中的 “GUI “就可以换到这个选项卡。 3. 在这个页面上,需要输入用户名(1.)和密码(2.)。 确保设置了一个不容易被猜到的安全密码。尽量使用字母、数字和符号的组合。 输入了这两点,你就可以点击 “保存 “按钮来保存你的修改(3. 4. 保存新密码后,会被踢出网页界面。 每次想使用Syncthing的界面时,都需要输入新的登录信息。 检索设备同步IDSyncthing的工作原理是为每个设备生成一个唯一的ID。要在设备之间同步数据,每个设备必须添加其他设备的ID。 找到Raspberry Pi Syncthing设置的ID很容器,可以在网页界面中找到。 1. 回到网页界面的主页面,点击屏幕右上角的 “操作 “切换键(1. 在下拉框中,点击 “显示ID “选项(2.),弹出我们要的对话框。 2. 在这个页面上,会看到识别字符串(1.)和与ID匹配的二维码(2.)。 识别字符串应该是50-56个字符,包含数字、字母和连字符。连字符会被系统忽略,但它是为了让ID更容易阅读。 需要将Raspberry Pi的ID添加到将要连接的其他设备上。同样,也需要添加他们的ID。 该ID作为Syncthing连接多个设备到同一池的方法的一部分。 现在知道了如何检索设备ID,看看怎么如何添加另一个设备的ID。 记住,无论要添加什么设备,都必须同时添加Raspberry Pi的ID。否则,设备将无法连接。 1. 在Syncthing界面上,需要点击位于右下方的 “添加远程设备 “按钮。 点击这个按钮将带我们进入对话框,允许我们添加一个设备到同步池。 2. 在此对话框中,可以将想要的设备ID添加到池中。 在顶部的文本框(1.)中,输入要连接的设备的ID。由于ID相对较长,复制和粘贴ID可能会更容易。 完成后,可以点击 “保存 “按钮(2.)添加设备并开始连接过程。 3. 当两台Syncthing服务器都添加了对方的ID后,应该看到已经成功连接了。 现在有一个设备连接到Raspberry Pi Syncthing,可以尝试与设备共享一个文件夹。 在本节中,使用默认文件夹。在本例中,该文件夹位于Raspberry Pi上的”/home/pi/sync”。 1. 要开始编辑现有文件夹的共享设置,请单击该文件夹下方的 “编辑 “按钮。 该按钮将弹出该文件夹的设置对话框,可以调整它的共享对象。 2. 在文件设置对话框中,我们需要改成共享标签。 点击 “分享 “选项卡,可以换到这个选项卡。 3. 使用该对话框,可以选择要与之共享文件夹的设备(1. 一旦选择了要同步的设备,请点击 “保存 “按钮 (2.)。 请注意,在与其他设备共享文件夹后,必须在该设备上接受它,然后才会开始同步。 4. 现在应该看到文件夹已经开始同步了。 一旦完成同步,应该会看到文件夹和设备都被标记为 “最新”。 现在你应该已经在Raspberry Pi上安装并运行了Syncthing,并知道如何使用它来同步不同设备之间的文件。 该软件是让多台电脑实时保持目录同步的最有效方法之一。 它甚至无需依赖第三方,如谷歌云或微软Azure来存储文件。 如果你在树莓Pi上设置Syncthing时遇到任何问题,欢迎在下面留言。 你也可以查看软件的官方文档,了解如何根据自己的需求配置软件。 平均: 0 / 5. votes: 0 到目前为止还没有投票!成为第一位评论此文章。 欢迎转载,请留下出处链接:Labno3 » 详细步骤记录如何用Syncthing实时同步树莓派上的文件 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |