s3-migrate — migrating objects between S3-compatible storage buckets.https://github.com/lmammino/s3-migrate
Cases:
▫️ copy an entire bucket from an account to another, and you need two different set of credentials for the source and destination accounts.
▫️ migrate objects from an S3-compatible service to another, such as from DigitalOcean Spaces to AWS S3 or vice versa.
Features:
▪️ Supports different AWS accounts, regions, and even S3-compatible services (it uses the AWS SDK under the hood but with the right configuration it should theoretically work with any S3-compatible service such as DigitalOcean Spaces, MinIO, Cloudflare R2, Backblaze B2, etc.)
▪️ Uses Node.js streams for efficient transfers (Data is transfered directly from the source to the destination without buffering the entire object in memory)
▪️ Allows stopping and resuming with a local SQLite database
▪️ Graceful shutdown on Ctrl+C
▪️ Configurable concurrency level and chunk size for memory / performance tuning
▪️ Progress bar and ETA for the copy process
⚠️ Currently intended for a one-off migration, not to keep 2 buckets in sync.
#S3