0

我必须创建一个 Nodejs 脚本来执行S3 存储桶到存储桶同步。我不想在文件刚刚上传到主 S3 时运行它,所以我认为 lambda 不是一个选项。我需要每天在特定时间运行一次任务。

如何使用NodeJS使用aws-sdk实现此 S3 存储桶同步?

Cron 可用于调度。我发现只有 aws-sdk 代码可以从 S3 复制到另一个 S3。我们是否有同步两个 S3 存储桶的代码?

4

2 回答 2

0

AWS S3 Bucket 同步使用 Nodejs 并且aws-sdk可以通过 s3sync的方法来执行。如果配合使用node-cron,就可以通过 Nodejs 实现 AWS S3 存储桶同步调度。


不知道有没有用,如果有Cron和aws-cli的话,不用Nodejs也能达到目的。您只需将以下代码添加到crontab.

0 0 * * * aws s3 sync s3://bucket-name-1 s3://bucket-name-2

于 2021-09-21T05:47:56.367 回答
0

您将需要一个 cron 作业,并且 nodejs 提供了一个名为node-cron的库

let cron = require('node-cron');

cron.schedule('* * * * *', () => {
  // TODO
  ...
});

对于每日 cron,您可以使用类似

0 0 * * *

第一个 0 指定分钟,第二个指定小时,因此该 cron 将在每天午夜运行。

于 2021-09-20T07:45:20.080 回答