Skip to content

FerdinaKusumah/s3-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

s3-sync

Sync AWS S3 storage:

  • Sync file from s3 -> s3
  • Sync file from s3 -> local storage
  • Sync file from local storage -> s3

Installation

  pip install s3sync

S3 sync s3 to s3

Read from parameters

    s3-sync --sync-s3-bucket true \
        # using 5 concurrent thread default is 2
        --thread 5 \
        --source-bucket-name source-bucket \
        --source-region-name ap-southeast-1 \
        --source-access-key-id source-access-key \
        --source-secret-access source-secret \
        
        --target-bucket-name target-bucket \
        --target-region-name ap-southeast-3 \
        --target-access-key-id target-access-key \
        --target-secret-access target-secret

Read from json file

  • Create example json file as bellow example, you can name this file whatever
{
  "source": {
    "bucket_name": "source-bucket",
    "region_name": "ap-southeast-1",
    "access_key_id": "source-access-key",
    "secret_access_key": "source-secret-key"
  },
  "target": {
    "bucket_name": "target-bucket",
    "region_name": "ap-southeast-3",
    "access_key_id": "target-access-key",
    "secret_access_key": "target-secret-key"
  }
}
  • Then execute command s3-sync --sync-s3-bucket true -json /home/ubuntu/config.json --thread 5

S3 sync s3 to local (Give absolute path for this)

Read from parameters

    s3-sync --sync-s3-local true \
        # using 5 concurrent thread default is 2
        --thread 5 \
        --source-bucket-name source-bucket \
        --source-region-name ap-southeast-1 \
        --source-access-key-id source-access-key \
        --source-secret-access source-secret-key \
        --target-local-path /home/ubuntu/sync-s3/my-folder

Read from json file

  • Create example json file as bellow example, you can name this file whatever
{
  "source": {
    "bucket_name": "source-bucket",
    "region_name": "ap-southeast-1",
    "access_key_id": "source-access-key",
    "secret_access_key": "source-secret-key"
  },
  "target": {
    "path": "/home/ubuntu/sync-s3/my-folder"
  }
}
  • Then execute command s3-sync --sync-s3-local true -json /home/ubuntu/config.json --thread 5

S3 sync local to s3

Read from parameters

    s3-sync --sync-local-s3 true \
        # using 5 concurrent thread default is 2
        --thread 5 \
        --source-local-path /home/ubuntu/sync-s3/my-folder \
        --target-bucket-name target-bucket \
        --target-region-name ap-southeast-3 \
        --target-access-key-id target-access-key \
        --target-secret-access target-secret-key

Read from json file

  • Create example json file as bellow example, you can name this file whatever
{
  "source": {
    "path": "/home/ubuntu/sync-s3/my-folder"
  },
  "target": {
    "bucket_name": "target-bucket-name",
    "region_name": "ap-southeast-3",
    "access_key_id": "target-access-key",
    "secret_access_key": "target-secret-key"
  }
}
  • Then execute command s3-sync --sync-local-s3 true -json /home/ubuntu/config.json --thread 5

Help & Bugs

contributions welcome

If you are still confused or found a bug, please open the issue. All bug reports are appreciated, some features have not been tested yet due to lack of free time.

License

license

s3-sync released under MIT. See LICENSE for more details.

About

Sync s3 from one source to another

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published