filesync

Crates.iofilesync
lib.rsfilesync
version0.2.1
created_at2023-09-07 13:04:50.373047+00
updated_at2025-10-30 13:45:59.658164+00
descriptionSync files between different sources
homepagehttps://git.sr.ht/~mistodon/filesync
repositoryhttps://git.sr.ht/~mistodon/filesync
max_upload_size
id966220
size102,147
Vi (mistodon)

documentation

README

filesync
[![build_badge]][build_url] docs_badge crates_badge

Simple Rust library to sync files between different sources.

Currently supports:

  1. Local files
  2. S3 (s3 feature)

Usage

use filesync::{
    local::LocalFiles,
    s3::S3Files,
};

let config = aws_config::load_from_env().await;
let client = aws_sdk_s3::Client::new(&config);

let mut local = LocalFiles::new("./my_local_files", true);
let mut s3 = S3Files::new(client, "my_s3_bucket", "path/in/bucket", true);

let synced_paths = filesync::sync_one_way(&mut local, &mut s3).await?;
assert_eq!(synced_paths, vec![PathBuf::from("my_changed_file.txt")]);
Commit count: 0

cargo fmt