mirror of
https://github.com/Luzifer/s3sync.git
synced 2024-12-20 11:31:17 +00:00
Small utility to sync local directories from/to Amazon S3 without installing any dependencies
Knut Ahlers
3237e3fd8d
Buckets with many folders were able to freeze s3sync when all threads were trying to write into the prefix channel but it was at its CAP. |
||
---|---|---|
Godeps | ||
.gitignore | ||
.gobuilder.yml | ||
History.md | ||
LICENSE | ||
local.go | ||
main.go | ||
README.md | ||
s3.go |
Luzifer / s3sync
s3sync
is a small utility to sync local directories from/to Amazon S3 without installing any dependencies. Just put the binary somewhere into your path and set three ENV variables and your're ready to sync.
Features
- Static binary, no dependencies required
- Sync files only if required (judged by MD5 checksum)
- Optionally delete files at target
- Optionally make files public on sync (only if file needs sync)
- Sync local-to-s3, s3-to-local, local-to-local or s3-to-s3
Usage
- Set
AWS_ACCESS_KEY
,AWS_SECRET_ACCESS_KEY
andAWS_REGION
- Execute your sync
# s3sync --help
Sync files from <from> to <to>
Usage:
s3sync <from> <to> [flags]
Flags:
-d, --delete=false: Delete files on remote not existing on local
-h, --help=false: help for s3sync
--max-threads=10: Use max N parallel threads for file sync
-P, --public=false: Make files public when syncing to S3
-v, --version=false: Print version and quit
# s3sync -d 1/ s3://knut-test-s3sync/
(1 / 3) 05/11/pwd_luzifer_io.png OK
(2 / 3) 07/26/bkm.png OK
(3 / 3) 07/26/luzifer_io.png OK
# s3sync -d 1/ s3://knut-test-s3sync/
(1 / 3) 05/11/pwd_luzifer_io.png Skip
(2 / 3) 07/26/bkm.png Skip
(3 / 3) 07/26/luzifer_io.png Skip
# rm -rf 1/05
# s3sync -d s3://knut-test-s3sync/ 1/
(1 / 3) 05/11/pwd_luzifer_io.png OK
(2 / 3) 07/26/bkm.png Skip
(3 / 3) 07/26/luzifer_io.png Skip