28 lines
858 B
Rust
28 lines
858 B
Rust
use bollard::Docker;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> anyhow::Result<()> {
|
|
let backup_root_folder = std::env::var("BACKUP_FOLDER")?;
|
|
let backup_root_path = std::path::Path::new(&backup_root_folder);
|
|
|
|
let folders = list_folders(backup_root_path).await?;
|
|
|
|
let docker_conn = Docker::connect_with_socket_defaults()?;
|
|
let docker_version = docker_conn.version().await?;
|
|
println!("Docker version: {:?}", docker_version);
|
|
|
|
Ok(())
|
|
}
|
|
|
|
async fn list_folders(path: &std::path::Path) -> anyhow::Result<Vec<std::path::PathBuf>> {
|
|
let mut folders = Vec::new();
|
|
let mut dir_entries = tokio::fs::read_dir(path).await?;
|
|
while let Some(entry) = dir_entries.next_entry().await? {
|
|
let file_type = entry.file_type().await?;
|
|
if file_type.is_dir() {
|
|
folders.push(entry.path());
|
|
}
|
|
}
|
|
|
|
Ok(folders)
|
|
} |