如何将 NAS 备份到 SpiderOak 云

Bee*_*ice 4 linux backup nas spideroak

我有一个来自Synology的基于 Debian Linux 的 NAS(网络附加存储),可以保存电影、音乐、照片等...

NAS 运行DSM 6基于 Intel x64 处理器构建的最新固件。我想设置一个自动备份作业到SpiderOak 云

问题是我能找到的信息很少。SpiderOak 基本上建议通过将 NAS 作为外部驱动器安装在 PC 上来备份 NAS,就像备份 USB 闪存盘一样。由于以下几个原因,这是有问题的:

  • 仅当您的 PC 与 NAS 位于同一网络时才有效
  • 来自NAS >> 路由器 >> PC >> 路由器 >> 云的数据流不必要地阻塞您的 LAN 并使用您的 PC 资源。理想情况下它只是NAS >> 路由器 >> 云
  • 通常,多台计算机共享一个 NAS;将 NAS 和 PC 数据设置为来自同一设备会使恢复数据时的情况变得过于复杂

如果您成功将任何 NAS 连接到 SpiderOak,请在此处分享您的操作方法。即使是不同的 NAS,我打赌人们也会发现它很有帮助。如果我们得到良好的反馈,我会将此资源提请 SpiderOak 支持人员注意

Bee*_*ice 6

在运行 DSM 6 固件的 Synology NAS 上设置 SpiderOak 6

\n\n

前言

\n\n

以下步骤在运行DSM 6.0.2 的Synology DS216+上运行,但稍加修改也可能适用于运行 Linux 的其他 NAS。使用的SpiderOak版本是6.1.3

\n\n

我严重依赖此页面此页面作为起点。

\n\n

需要注意的一些事项:

\n\n
    \n
  • 这些说明自 2016 年 11 月起生效。

  • \n
  • 每当指令要求您执行或运行命令时,它们都指的是 SSH(更多信息如下)。以下所有 SSH 命令均应以root用户身份执行。我建议在运行每个命令之前尝试了解它的作用。

  • \n
  • 您应该安装的软件包取决于您的 CPU 架构。您可以通过在 SSH 中执行来找到您的dpkg --print-architecture
  • \n
  • 如果您知道为什么下面的步骤 26 失败或如何修复它,请分享!
  • \n
\n\n

启用S​​SH

\n\n
    \n
  1. 登录 DSM(您的 NAS 网络仪表板),方法是:http:<NAS-IP-ADDRESS>
  2. \n
  3. 在 DSM 中,打开Control Panel >> Terminal & SNMP
  4. \n
  5. 查看Enable SSH service
  6. \n
\n\n

通过 SSH 连接到您的 NAS

\n\n
    \n
  1. 获取 SSH 客户端(我在 Windows 上使用 Putty SSH;Mac 有一个内置的 SSH 客户端:终端)
  2. \n
  3. 找到您的 NAS\xe2\x80\x99 LAN IP 地址和 SSH 端口。该 IP 在 DSM 中可见,网址为Control Panel >> Info Center >> Network tab。SSH 端口默认为 22。
  4. \n
  5. 使用 IP 和端口通过 SSH 连接。使用 DSM 登录凭据。
  6. \n
  7. 在 SSH 中执行:sudo -i成为 root 用户。您将需要再次提供管理员密码。有关详细信息,请参阅此常见问题解答
  8. \n
\n\n

安装 Entware-ng(opkg 包管理器)

\n\n
    \n
  1. 通过 SSH,按照以下说明安装 opkg 包管理器。
    \na。要确定要安装的正确版本,请运行dpkg --print-architecture. 例如,amd64意味着您需要版本x86 64-bit

    \n\n

    b. 需要您编辑文件的说明可以使用 Vim 编辑器来完成。例如,要编辑/etc/rc.local,请运行vi /etc/rc.local。这是Vim 的快速介绍

    \n\n

    C。对于DSM 6固件,当Entware-ng说明要求您编辑/root/.profile时,请编辑/etc/profile

  2. \n
  3. 重启NAS,登录SSH并运行sudo -i成为root用户

  4. \n
  5. Runopkg install nano以获得比 Vim 更简单的文本编辑器。
  6. \n
\n\n

安装SpiderOakOne

\n\n
    \n
  1. 前往SpiderOak网站获取与您的设备匹配的安装包URL。我的 NAS 有一个 64 位处理器,所以我选择了 Linux Debian 64 位,我的PACKAGE-URLhttps://spideroak.com/getbuild?platform=ubuntu&arch=x86_64
  2. \n
  3. 运行:cd /root打开根目录
  4. \n
  5. 运行:wget \xe2\x80\x93output-document=spideroak.install.deb <YOUR-PACKAGE-URL>下载并保存包
  6. \n
  7. 一旦您注意到Spideroak.install.deb已保存,请按Ctr+c返回提示符。
  8. \n
  9. 运行:dpkg-deb -x spideroak.install.deb SpiderOakONE将下载的文件解压到/root/SpiderOakONE目录中
  10. \n
  11. 运行:rm spideroak.install.deb删除下载的包
  12. \n
  13. 运行:mv SpiderOakONE /opt/SpiderOakONE将程序文件移动到/opt
  14. \n
  15. 运行:sed -i /opt/SpiderOakONE/usr/bin/SpiderOakONE -e s+/opt/SpiderOakONE+/opt/SpiderOakONE/opt/SpiderOakONE+这会修复 SpiderOak\xe2\x80\x99s 启动脚本中的路径,使其指向步骤 17 中的正确路径。要手动执行此操作,请打开/opt/SpiderOakONE/usr/bin/SpiderOakONE并替换/opt/的所有实例文件中的SpiderOakONE为/opt/SpiderOakONE/opt/SpiderOakONE
  16. \n
  17. 如果您计划备份大量数据,SpiderOak 数据文件夹将在备份过程中变大。就我而言,这填满了系统分区并导致 NAS 无法正常工作。为了解决这个问题,我将数据文件夹移动到存储所有数据的通用分区:/volume1

    \n\n

    A。运行:mkdir /volume1/SpiderOakONE创建一个新的数据目录。将/volume1替换为您的常规数据分区。

    \n\n

    b. 运行:ln -s /volume1/SpiderOakONE/ /root/.config/SpiderOakONE创建一个符号链接,以便访问旧的/root位置将自动重定向到新的

  18. \n
\n\n

将 NAS 添加到 SpiderOak 帐户

\n\n
    \n
  1. 运行:ln -s /opt/SpiderOakONE/usr/bin/SpiderOakONE /opt/bin/spideroak创建一个符号链接,将/opt/bin/spideroak重定向到程序的真实路径。这使我们可以通过简单地输入 SSH 来运行程序,spideroak而不必输入完整路径。
  2. \n
  3. 运行:spideroak --help查看可用选项。如果该命令返回\xe2\x80\x9ccommand not found\xe2\x80\x9d,则步骤 20 未按预期工作。您可以使用其完整路径运行该程序:/opt/SpiderOakONE/usr/bin/SpiderOakONE \xe2\x80\x93-help
  4. \n
  5. 运行:spideroak --setup=-将您的 NAS 注册到该服务。您\xe2\x80\x99需要您的SpiderOak用户名和密码
  6. \n
\n\n

基本命令

\n\n
    \n
  1. 执行命令:spideroak --include-dir=<PATH>将目录添加到备份集中。路径的示例可能是/volume1/Pictures--exclude-dir=<PATH>可以用来排除某些目录。如果路径包含空格,则必须将其用双引号引起来。
  2. \n
  3. 要查看当前选择备份的内容,请运行spideroak --selection; 运行spideroak --reset-selection重置。
  4. \n
  5. 要运行备份作业,请运行:如果您希望生成日志文件,spideroak --batchmode可以添加参数。--redirect=<FILE_PATH>如果您的 SSH 连接中断(例如:您的 PC 处于待机状态),备份将会中断,因此我建议安排备份由 NAS 本身作为 cron 作业执行(请参阅下一节)
  6. \n
\n\n

设置备份计划

\n\n
    \n
  1. DSM(Web 控制面板)包括安排任务定期在Control Panel >> Task Scheduler. 我们应该能够使用此命令来安排定期备份,例如,spideroak --batchmode但即使此命令在以 root 身份运行 SSH 时有效,但当任务计划程序尝试以 root 身份运行它时,它会失败。我不知道为什么。相反,我通过 SSH 手动编辑 crontab(时间表)。
  2. \n
  3. 查看如何编辑 NAS 上的 crontab。在我的系统中,适用以下 4 个步骤:
  4. \n
  5. 系统计划任务存储在文件/etc/crontab中。运行cp /etc/crontab /etc/crontab.bak以创建备份副本。如果稍后 crontab 编辑出现问题,请使用以下命令从工作备份中恢复cp /etc/crontab.bak /etc/crontab
  6. \n
  7. 运行:nano /etc/crontab打开时间表进行编辑。Nano 文本编辑器已在步骤 10 中安装。快速网络搜索将提供有关如何格式化crontab 的提示。例如,要在每晚 10:30 运行备份作业,请将此行添加到文件中:
  8. \n
\n\n

30 22 * * * root spideroak --batchmode

\n\n

列必须用制表符分隔,而不是空格。如果命令无法执行,请替换spideroak为其完整路径(请参阅步骤 21)。要记录结果,请添加参数--redirect=<FILEPATH>,Spideroak 将在该路径写入日志。

\n\n
    \n
  1. 如果您只想测试事情是否正常,而不必等待漫长的备份完成,请替换--batchmode为更短的过程,例如 --selection并检查日志以获取结果
  2. \n
  3. 最后,检查您的编辑是否在系统重新启动后仍然有效。重新启动 NAS,登录 SSH,运行sudo -i成为 root,并nano /etc/crontab检查计划。
  4. \n
\n\n

你已经做到了!

\n\n

故障排除和提示

\n\n
    \n
  1. 如果在 SSH 中,对于曾经有效的命令,您收到错误\xe2\x80\x9ccommand not found\xe2\x80\x9d ,可能是因为/opt/bin/opt/sbin不在 PATH 中:

    \n\n

    A。运行vi /etc/profile并编辑文件的 PATH 部分(添加:/opt/bin:opt/sbin在 PATH 字符串的末尾)

    \n\n

    b. 重新启动网络存储

  2. \n
  3. 如果运行 SpiderOak 并得到\xe2\x80\x9cCommand line argument not allowed during New User Setup\xe2\x80\x9d,则 \xe2\x80\x99s 可能是因为我们在步骤 19.b 中创建的符号链接已被破坏,因此 Spideroak无法\xe2\x80\x99找到其数据文件夹。重做 19.b。
  4. \n
  5. 如果您的安装损坏,您可以使用 重新初始化您的设备到服务器spideroak --setup=-。这可能需要一段时间,因为设置后,如果需要,程序将立即完成备份:花了我的 NAS 12 小时。
  6. \n
  7. 我必须将 NAS 恢复出厂设置一次,因此此设置部分丢失。为了让事情在重置后正常工作,我必须重做步骤 8.b、19.b、20,重新启动,并重新创建 cron 作业(步骤 26 到 31)
  8. \n
  9. 如果 SSH 命令失败并出现有关权限的错误,请执行whoami. 如果结果没有显示“root”,请运行sudo -i以成为 root(您将需要 DSM 密码)
  10. \n
\n