Skip to content

irekovic/go-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Sync Tool

You can point it to a local folder with -f flag. It will monitor that folder and every file found there it will try to sync to cloud. - Updates and deletes also.

Destination is given by -url flag, witch works in combination with environment variables to support various cloud providers. Currently supported ones are:

Azure Blob Storage

URL for targeting Azure Blob:

azblob://my-container 

Credentials are found in the environment variables AZURE_STORAGE_ACCOUNT plus at least one of AZURE_STORAGE_KEY and AZURE_STORAGE_SAS_TOKEN.

Local File System

You can use local folder instead of cloud storage if you use file:// url. You will have to provide absolute path, and path MUST exist.

Google Cloud Storage

You can use Google Cloud Storage with url that looks like this:

gs://my-bucket 

Before being able to access GCS you have to login by executing:

 gcloud auth login 

The following query parameters are supported:

- access_id: sets Options.GoogleAccessID - private_key_path: path to read for Options.PrivateKey 

AWS S3

For AWS S3 URL must contain region where bucket is located like this:

s3://my-bucket?region=us-west-1 

And credentials can be provided in following environment variables:

# Access Key ID AWS_ACCESS_KEY_ID=AKID AWS_ACCESS_KEY=AKID # only read if AWS_ACCESS_KEY_ID is not set. # Secret Access Key AWS_SECRET_ACCESS_KEY=SECRET AWS_SECRET_KEY=SECRET=SECRET # only read if AWS_SECRET_ACCESS_KEY is not set. # Session Token AWS_SESSION_TOKEN=TOKEN # Optionaly you can provide region in environment also AWS_REGION=us-east-1 

Example

go-sync -f folder/to/monitor -url:file:///C:/Repo/ 

Will monitor folder/to/monitor and sync it's content to local folder on windows C:\Repo.

AZURE_STORAGE_ACCOUNT=xxx AZURE_STORAGE_KEY=yyy go-sync -f c:\\monitored_dir -url:azblob://az-repo/ 

Will monitor C:\monitored_dir and sync it with container az-repo that is located on Azure Cloud.

About

Simple Sync Tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages