2 个版本
0.1.1 | 2023 年 9 月 13 日 |
---|---|
0.1.0 | 2023 年 6 月 27 日 |
#1652 在 文件系统
29 每月下载次数
用于 gcenter
16KB
205 代码行
备份!
一个用于备份文件和目录的极其简单的 crate。
这是什么?
这个 crate 帮助处理一个常见场景:应用程序生成一个输出文件可能会覆盖另一个文件。使用此 crate 提供的 backup
函数,在覆盖发生之前创建备份,确保数据安全。Back It Up! 确保即使你反复写入同名的输出文件,也不会丢失数据。
用法
将以下依赖项添加到你的 Cargo.toml
文件
[dependencies]
backitup = "0.1.0"
在 Rust 代码中导入 crate
use backitup::backup;
创建备份
要创建文件或目录的备份,请使用 backup
函数。该函数接受文件或目录的路径作为参数,并在成功时返回备份文件的路径,或在备份操作失败时返回错误。
请注意,文件(或目录)的内容不会被复制,文件(或目录)只是被 重命名。
use crate::backitup::backup;
let path = "data.txt";
match backup(path) {
Ok(backup_path) => println!("Backup created: {:?}", backup_path),
Err(err) => eprintln!("Failed to create backup: {:?}", err),
}
备份名称
备份文件或目录名称基于原始 path
生成,并附加一个格式为 "YYYY-MM-DD-HH-MM-SS" 的时间戳。如果在同一秒内创建了多个备份,将附加有关微秒的额外信息。备份名称遵循以下模式
对于文件:"#<parent_directory>/<filename>-<timestamp>(-<microseconds>)#"
对于目录:"#<parent_directory>/<directory_name>-<timestamp>(-<microseconds>)#"
例如,文件 data.txt
在 2023/06/27 21:01:13(当地时间)进行备份,将被重命名为 `#data.txt-2023-06-27-21-01-13#`。
许可证
此 crate 根据 MIT 许可证分发。
依赖项
~1MB
~18K SLoC