【问题标题】:aws s3 cli sync with watching folder liveaws s3 cli 与实时观看文件夹同步
【发布时间】:2020-02-14 17:13:46
【问题描述】:

当本地文件夹发生更改时,将持续监视 jsondata 文件夹并将该文件夹与 s3 同步的 bash 命令是什么。

现在我正在运行这个命令,但它没有 -watch 标志。

aws s3 sync jsondata s3://mybucket/jsondata/

【问题讨论】:

  • 您需要它多快做出反应?是否需要即时同步,或者定期同步(例如每 1 分钟或 5 分钟)是否足够?
  • 我可以接受更改发生时的几秒钟延迟。

标签: bash unix amazon-s3 aws-cli


【解决方案1】:

在 Linux 中,您可以使用 incrontab 实用程序来监视文件和文件夹。每当您在文件夹中收到新文件时触发脚本。该脚本将包含 aws sync 命令。

【讨论】:

    【解决方案2】:

    S3 Sync 是一个 bash 脚本,它将利用 inotify linux 内核实用程序和 s3cmd 在本地目录和 Amazon S3 之间设置自动同步。它还可以通过 cron 从您的 S3 存储桶同步到本地目录。

    https://github.com/jasonrichardsmith/s3_sync

    【讨论】:

      【解决方案3】:

      似乎有很多选择,但这里有一个来自快速谷歌搜索:

      https://pypi.org/project/watchdog/

      可以注册文件系统通知并采取行动作为响应的 Python 脚本。上面链接中显示的示例可以采用 shell 命令(例如 s3 同步),当检测到目录更改时可以执行该命令。

      inotify_simple project 是另一种选择。有很多选择。

      【讨论】:

        【解决方案4】:

        我也遇到了同样的问题,遇到了这个 stackoverflow 问题,并认为必须有一种更方便的方法来做到这一点。

        所以我专门为此目的编写了一个小的 npm 模块。它监视文件夹并自动将文件更改上传到 s3 存储桶。它叫s3-auto-sync

        安装后,您可以运行s3-auto-sync -r us-east-1 -b my-bucket -d ./my-folder。就是这样。

        PS:使用与你所在地区相同的bucket,这样会大大提高上传速度。

        【讨论】:

        猜你喜欢
        • 2015-10-10
        • 2019-08-31
        • 1970-01-01
        • 2020-05-28
        • 2015-03-12
        • 1970-01-01
        • 1970-01-01
        • 2016-12-29
        • 1970-01-01
        相关资源
        最近更新 更多