#备份 #备份文件 #备份工具 #工具

backitup

一个用于备份文件和目录的极其简单的 crate

2 个版本

0.1.1 2023 年 9 月 13 日
0.1.0 2023 年 6 月 27 日

#1652文件系统

29 每月下载次数
用于 gcenter

MIT 许可证

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