我怎样才能在我的工作站和EC2之间同步文件,而无需每次都手动login我的EC2?

我想做一些看起来很简单的事情,但是我发现的选项都不错(例如Dropbox)。

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

  • 它必须在EC2的初始化过程中进行无人值守/脚本化的安装和configuration(因为EC2实例是临时的)
  • 因此,它可能仅取决于EC2环境variables的任何服务安装凭证
  • EC2上的服务需要只读,recursion同步 (不是简单的下载;有太多文件只是简单地下载一个目录存档并定期展开)。
  • 工作站和EC2都与Dropbox共享的源云存储库同步,因为该工作站并不总是处于/可公开访问的状态
  • 我的EC2实例上的应用程序是nodeJS,它的价值!

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

即使另一个微小的EC2实例是将Dropbox与Elastic File System同步。 这可能是更长的,但仍然是短暂的,需要一个无人值守的init脚本安装。

提前致谢。

看看rsync。 它可以跨任何平台同步数据,并可以使用SSHlogin和传输encryption。 而且你没有使用任何第三方服务。

您可以使用Dropbox Uploader脚本在任一方向发送数据。 每次你想这样做,都不需要你手动login。 我的Amazon Linux EC2实例执行备份,并使用此脚本将其每天晚上发送到Dropbox。

你也可以在Unix上运行Bittorrent Sync ( 第二个链接 )。 这不断反映从一台机器到另一台机器的数据,当然,您可以根据需要打开和closures数据。 我发现这在EC2上的Amazon Linux上运行良好,但我停止使用它,因为Dropbox在我的用例中更方便。

更新 – 你也可以使用官方Dropbox客户端的Linux ,它为rsbox做dropbox。 这里有更多关于这种方法的信息 。