======================= aws-s3-files-autosync ======================= Files watcher program to autosync with AWS S3 Inspiration ================ Failed to find libraries that work properly to deal with AWS S3 files in the same way *watchdog* does for local filesystem changes. The files changed in S3 are pulled down and the local changes are uploaded to S3 **with a backup in S3 prior to upload** (avoids accidental loss of files). Usage ====== .. code-block:: bash files_s3_autosync -h usage: files_s3_autosync [-h] [-f FILE_PATH | -e ENV_VAR] [_ ...] positional arguments: _ optional arguments: -h, --help show this help message and exit -f FILE_PATH, --from-file FILE_PATH Configuration for execution from a file -e ENV_VAR, --from-env-var ENV_VAR Configuration for execution is in an environment variable Input files model .. literalinclude:: aws_s3_files_autosync/input.json :language: json Features -------- * Synchronize (GET/PUT) files from/to local filesystem to S3. * Validates whether downloading the file is necessary based on file size and timestamps * Automatically creates a copy of the current object in S3 before uploading a newer version. * Simulates **aws s3 sync** for specific files