filesync

Crates.iofilesync
lib.rsfilesync
version0.2.0
created_at2023-09-07 13:04:50.373047+00
updated_at2025-02-25 21:53:43.867044+00
descriptionSync files between different sources
homepagehttps://github.com/mistodon/filesync
repositoryhttps://github.com/mistodon/filesync
max_upload_size
id966220
size102,966
Vi (mistodon)

documentation

README

filesync
build_badge 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: 18

cargo fmt