1 个不稳定版本
0.1.0 | 2023年11月6日 |
---|
#1623 在 文件系统
1MB
837 行
简介
此库从目录中执行增量备份,同时加密其所有内容,包括文件名。它支持 AES256 和 Chacha20 加密,并通过 OpenSSL 库 使用 openssl crate。
用法
OpenSSL 库必须在宿主机操作系统上已安装
# On Debian
$ sudo apt install libssl-dev
use std::{env, path::Path};
use secure_backup::{
backup::take_backup,
restore::restore_backup,
common::Cipher
};
let current_dir = env::current_dir().unwrap();
let password = "password";
let salt = "salt";
let ignore_list = vec!["*.ignore"];
let source_dir = current_dir.join(Path::new("path_to_the_src_dir")).to_path_buf();
let backup_dir = env::temp_dir().join("path_to_the_backup_dir").to_path_buf();
// Take a backup
take_backup(&source_dir, &backup_dir, Cipher::AES256, password, salt, &ignore_list);
// Restore the backup
let restore_dir = env::temp_dir().join("path_to_the_restore_dir").to_path_buf();
restore_backup(Cipher::AES256, &backup_dir, &restore_dir, password, salt);
许可证
依赖
~2.2–3.5MB
~75K SLoC