S3 Sync
Find a file
Paul Campbell 00743c425c
Add configurable logging levels, selected from command line argument (#12)
* [config,parseargs] Accept v/verbose command line argument

* [parseargs] lowercase program name

* [logging] Log messages based on command line argument

* [readme] update usage
2019-05-16 21:59:40 +01:00
.github [github] Add stale configuration 2019-05-14 07:05:48 +01:00
project [gitignote] update to allow some project files 2019-05-11 08:54:35 +01:00
src Add configurable logging levels, selected from command line argument (#12) 2019-05-16 21:59:40 +01:00
.gitignore [gitignore] ignore zip files 2019-05-14 07:27:14 +01:00
.travis.yml [travis] define AWS_REGION environment variable 2019-05-16 19:28:50 +01:00
build.sbt Update slf4j-log4j12 to 1.7.26 2019-05-14 04:45:44 +02:00
CHANGELOG.org [changelog] Added 2019-05-16 16:37:25 +01:00
README.org Add configurable logging levels, selected from command line argument (#12) 2019-05-16 21:59:40 +01:00

s3thorp

Synchronisation of files with S3 using the hash of the file contents.

Originally based on Alex Kudlick's aws-s3-sync-by-hash.

The normal aws s3 sync ... command only uses the time stamp of files to decide what files need to be copied. This utility looks at the md5 hash of the file contents.

Usage

  s3thorp
  Usage: s3thorp [options]

    -s, --source <value>   Source directory to sync to S3
    -b, --bucket <value>   S3 bucket name
    -p, --prefix <value>   Prefix within the S3 Bucket
    -v, --verbose <value>  Verbosity level (1-5)

Creating Native Images

  • Download and install GraalVM

  • Install native-image using the graal updater

      gu install native-image
    
  • Create native image

      native-image -cp `sbt 'export runtime:fullClasspath'|tail -n 1` \
                   -H:Name=s3thorp \
                   -H:Class=net.kemitix.s3thorp.Main \
                   --allow-incomplete-classpath \
                   --force-fallback
    
  • Resulting file requires a JDK for execution