19 个版本

0.7.2 2022 年 2 月 2 日
0.7.0 2020 年 12 月 21 日
0.6.0 2020 年 9 月 9 日
0.5.3 2020 年 4 月 20 日
0.4.2 2018 年 7 月 19 日

#1331命令行工具

每月 25 次下载
用于 2 crates

BSD-3-Clause

41KB
992

包含 (ELF 可执行文件/库, 9KB) tests/data/a_dir/foo.exe

rusync

基于 Rust 的简约 rsync 实现。

用法

$ cargo install rusync
$ rusync test/src test/dest
:: Syncing from test/src to test/dest …
 50% 24/50 Downloads/archlinux.iso   00:01:30

注意事项

我们尽一切努力确保数据丢失不可能发生,但尽管如此,仍然可能发生。

请在使用 rusync 处理敏感数据之前,确保您的文件已备份(如果需要)。

感谢您的理解!

特性

  • 易于记忆的命令行语法。

  • 在一行中打印进度,完成后擦除,从而避免终端被无用的噪音填满。

  • 显示可靠的 ETA,而不牺牲速度。

  • 意外的行为:缺少的目录会动态创建,只有在以下情况下才会复制文件:

    • 目标缺失
    • 目标存在但比源更旧
    • 或源和目标大小不同

命令行选项

目前只有两个

  • --no-perms:防止rusync尝试保留文件权限(例如,如果您从 Linux 分区复制数据到 NTFS,则很有用)。
  • --err-list FILE:将导致错误的条目名称写入给定的文件,条目之间用 \n 分隔

项目状态

我认为这个项目已经完成 - 我不打算添加新功能。目标是更多地了解 Rust,我已经学到了很多东西。如果 rsync 中存在而 rusync 中没有的功能,请使用 rsync - 或者尝试自己实现该功能,我将很高兴审查和合并您的更改 :)

依赖关系

~3–14MB
~120K SLoC