1
0
Fork 0
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
Find a file
Knut Ahlers 0339e06989
Update meta files
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2017-05-29 12:18:50 +02:00
Godeps Migrate and update Godeps 2017-05-29 11:41:57 +02:00
logger Added documentation 2015-07-28 16:09:42 +02:00
vendor/github.com Migrate and update Godeps 2017-05-29 11:41:57 +02:00
.gitignore Vendor libraries 2016-01-04 22:54:12 +01:00
.gobuilder.yml Initial version 2015-07-26 16:06:24 +02:00
.repo-runner.yaml Noop: Enable Github releases 2017-05-29 11:09:30 +02:00
History.md prepare release v1.2.6 2017-05-29 11:44:14 +02:00
LICENSE Update meta files 2017-05-29 12:18:50 +02:00
local.go Fix: Synced files from Windows did not have subdirs 2016-02-29 23:36:56 +01:00
main.go Fix: Do not exit before every sync is done 2015-08-01 23:45:12 +02:00
Makefile Noop: Enable Github releases 2017-05-29 11:09:30 +02:00
README.md Update meta files 2017-05-29 12:18:50 +02:00
s3.go Migrate and update Godeps 2017-05-29 11:41:57 +02:00

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)
  • Using multiple threads to upload the transfer is quite fast
  • 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

  1. Set AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY and AWS_REGION
  2. 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
      --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