# README
s3backup
Shorten your strings using common abbreviations.
Motivation
This tool has been developed so that I can conveniently backup all of my personal photos to an AWS S3 bucket.
But why develop this? Aren't there other tools that can solve your problem?
Of course, but this is more fun.
Installation
git clone https://github.com/dnnrly/s3backup
cd s3backup
make build
Usage
$ s3backup --help
This too backs up your files to S3 so that you can have them in
the cloud. It will scan the location(s) that you specify and
attempt rudimentary de-duplication.
Examples:
$ s3backup
Code of Conduct
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code.
Contributing
Pull requests are welcome. See the contributing guide for more details.
Please make sure to update tests as appropriate.
License
# Functions
CopyIndex creates an Index from Yaml.
FileHasher returns a hash of the contents of a file.
FilePathWalker is a PathWalker that accesses files on the disk when walking a directory tree.
NewConfigFromFile generates a config object from a file.
NewConfigFromString generates a config object from the string.
NewIndex creates an Index from Yaml.
NewIndexFromRoot creates a new Index populated from a filesystem directory.
This uploads batches given by UploadDifferences.
UploadDifferences will upload the files that are missing from the remote index.
# Variables
Verbose enables verbose logging in this package.
# Structs
Config defines the configuration for the whole tool.
Index holds all of the metadata for files backed up.
Limiter object for limiting concurrency of go routines.
Sourcefile represents the metadata for a single backed up file.
# Interfaces
FileRepository allows you to access files in your remote location.
IndexStore allows you to persist indexed objects.
# Type aliases
FileGetter allows you to get the contents of a file.
PathHasher is a function that will hash the file at 'path' location.
PathWalker is a function that can walk a directory tree and populate the Index that is passed in.