Crate filesync

source ·
Expand description

Crate for syncing files between (theoretically) arbitrary sources. For example, syncing local files to an S3 bucket.

Example

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")]);

Modules

  • Provides a FileSource for local files on disk.
  • Provides a FileSource for a path in an S3 bucket.

Structs

  • Represents a file at a path with some metadata.

Enums

Traits

Functions

Type Aliases

  • General result type for this crate.