Skip to main content

A tool for synchronizing files with S3-compatible storage

Project description

S3 Sync Tool

A Python-based synchronization tool for S3-compatible storage services that supports concurrent multi-user operations.

Features

  • Multi-user concurrent synchronization support
  • File extension filtering (whitelist/blacklist)
  • Recursive directory synchronization
  • Timestamp-based sync decisions
  • Support for S3-compatible services (AWS S3, Aliyun OSS, Tencent COS, etc.)
  • Metadata-based optimization for large-scale synchronization
  • Command-line interface

Installation

  1. Install Python 3.11 or later

  2. Install pip (if not installed)

  3. Install s3-remotely-sync

pip install s3-remotely-sync

Usage

Configure Credentials

s3rs configure --profile your_profile_name

or use default profile name:

s3rs configure

Basic Synchronization

Sync with custom endpoint (e.g., Aliyun OSS):

s3rs sync /local/path --bucket bucket-name --prefix prefix --endpoint-url https://oss-cn-beijing.aliyuncs.com

Exclude specific file types:

s3rs sync /local/path --bucket bucket-name --prefix prefix --extensions .tmp .log --blacklist

Arguments

  • local_path: Local directory path to sync
  • --bucket: S3 bucket name
  • --prefix: S3 prefix (directory path in bucket)
  • --endpoint-url: S3-compatible service endpoint URL
  • --extensions: File extensions to include/exclude
  • --blacklist: Treat extensions as blacklist instead of whitelist

Configuration

You can also use a configuration file .s3-remotely-sync.yml to store in your local path root directory that you want to sync.

# S3/OSS configuration
bucket: s3-remotely-sync
prefix: test
endpoint-url: https://oss-cn-shanghai.aliyuncs.com
region: oss-cn-shanghai

# Sync options
extensions:
  - .md
  - .pages
blacklist: true

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

s3_remotely_sync-0.1.1.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

s3_remotely_sync-0.1.1-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file s3_remotely_sync-0.1.1.tar.gz.

File metadata

  • Download URL: s3_remotely_sync-0.1.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for s3_remotely_sync-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1a5ff1179b7819ab8bfaabb58aad1fcccdcfc1c1e9cf228e24866ef8c608715e
MD5 8099e258dd4e0fe6f92e93e8f202e0a5
BLAKE2b-256 5a20191eea3c34d91f456e44bda7282f54f85d095d8eb62bbbeba6dfd97ee5d6

See more details on using hashes here.

File details

Details for the file s3_remotely_sync-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for s3_remotely_sync-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 35be391cf27af44641ee2c1ac1c4f88ebcaef994b05fd737635cac78b14e015a
MD5 a24527ae4fa8025e46bd43a11058c933
BLAKE2b-256 0d24ec19c49f8f5ffaa52d26712ac9cb64336b0888d6e34a2a1566876e7b5b8b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page