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
-
Install Python 3.11 or later
-
Install pip (if not installed)
-
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.
Release files for s3-remotely-sync 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| s3_remotely_sync-0.1.1.tar.gz | 10.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| s3_remotely_sync-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.1 kB
Release files / s3_remotely_sync-0.1.1.tar.gz
| Download URL | s3_remotely_sync-0.1.1.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a5ff1179b7819ab8bfaabb58aad1fcccdcfc1c1e9cf228e24866ef8c608715e
|
|
BLAKE2b-256 checksum How to use checksums |
5a20191eea3c34d91f456e44bda7282f54f85d095d8eb62bbbeba6dfd97ee5d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Release files / s3_remotely_sync-0.1.1-py3-none-any.whl
| Download URL | s3_remotely_sync-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35be391cf27af44641ee2c1ac1c4f88ebcaef994b05fd737635cac78b14e015a
|
|
BLAKE2b-256 checksum How to use checksums |
0d24ec19c49f8f5ffaa52d26712ac9cb64336b0888d6e34a2a1566876e7b5b8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|