如何在工作站和 EC2 之间同步文件,而不必每次手动登录 EC2?

如何在工作站和 EC2 之间同步文件,而不必每次手动登录 EC2?

我想做一些看似简单的事情,但我发现的所有选项都不太合适(例如 Dropbox)。

问题是:我可以使用哪种云同步服务将工作站上的文件夹与 EC2 实例中的文件系统同步?请注意以下要求:

  • 它必须具有在 EC2 初始化时发生的无人值守/可编写脚本的安装和配置(因为 EC2 实例是短暂的)
  • 因此它可能仅依赖于 EC2 环境变量来获取任何服务安装凭证
  • EC2 上的服务需要只读、递归同步(不是简单的下载;文件太多,无法简单地下载目录存档并定期扩展它)。
  • 工作站和 EC2 都与 Dropbox 等共享源云存储库同步,因为该工作站并不总是处于开启状态/可公开访问的状态
  • 我的 EC2 实例上的应用程序是 nodeJS,值得一试!

例如,Dropbox Linux 客户端(或者我发现的 nodejS 库)需要有人值守安装,以便每次实例需要登录其 Dropbox 客户端时访问 Dropbox URL。Bittorrent 同步也是如此,需要访问本地主机 URL 来链接设备。

即使另一个小型 EC2 实例要将 Dropbox 与 Elastic File System 同步。它可能会存活更长时间,但仍然是短暂的,需要无人值守的初始化脚本安装。

提前致谢。

答案1

了解一下 rsync。它可以跨任何平台同步数据,并且可以使用 ssh 登录和传输加密。而且您不使用任何第三方服务。

答案2

您可以使用Dropbox 上传器脚本向任一方向发送数据。每次执行此操作时,您都不需要手动登录。我的 Amazon Linux EC2 实例会进行备份,并使用此脚本每晚将其发送到 Dropbox。

您还可以运行Bittorrent 同步在 Unix 上(第二个链接)。这会不断地将数据从一台机器镜像到另一台机器,当然,您可以根据需要打开或关闭它。我发现它在 EC2 上的 Amazon Linux 上运行良好,但我停止使用它,因为 Dropbox 对我的使用情况来说更方便。

更新- 您还可以使用Linux 版 Dropbox 官方客户端,它的作用类似于 dropbox 的 rsync。有关该方法的更多信息这里

答案3

对于我的简单用例 - 从我的本地 Windows 机器管理基于 EC2 Linux 的 WordPress 实例 - rsync 和 ssh 看起来是一个很好的解决方案。我可以在 VS Code 中打开 WordPress 文件并根据需要同步。Ssh 将远程执行命令并与我的本地剪贴板集成。

这看起来比 Virtual Box 好多了!

不过,EC2 似乎是无头的。我不知道这是否是一个问题。

错误 - PowerShell 不支持 rsync

安娜·Q

相关内容