gpt4 book ai didi

performance - 如何设置双向快速文件同步?

转载 作者:行者123 更新时间:2023-12-04 05:51:42 25 4
gpt4 key购买 nike

为此,我正在尝试使用 GIT。

我正在尝试开发一个 .sh 脚本(在 linux 下)来自动提交 git 存储库中的所有更改并删除除最后一个之外的所有历史修订。存储库必须仅保留最后提交的数据并清除所有以前的历史记录(丢失所有数据)。

例如,我提交了 3 个文件:

  • 文件 1:12 MB;
  • 文件 2:4 MB;
  • 文件 3:12 KB;

  • 提交后,我的 .git 文件夹大小约为 25 MB;

    现在我删除file1和file2。

    下一次提交后,我的工作副本是 12 KB,我的 .git 文件夹是 25 MB。

    我想刷新存储库中的所有数据(丢失数据)以获得最小的 .git 文件夹。

    问题是我需要用一个单一的非交互式命令行来做到这一点,因为我需要做一个 cron 脚本。

    浏览论坛几个小时我没有找到这个问题的解决方案。

    真正的问题是:如何设置双向快速文件同步?
    要同步的文件夹很大(20 GB,包含数千个文件)。第一次同步会很慢,没问题,但第二次应该更快,不超过 30-40 秒只比较更改的文件...

    感谢您的任何帮助。

    最佳答案

    让它快速工作

    使用 AeroFSunison .

    定制解决方案

    使用 inotify对于 linux,或 its equivalent on other platforms要获得文件系统更改的通知,请使用 librsync , libssh或类似的方式来传输文件。

    根据您的使用情况,您实际上可能会在 cron 作业中运行 rsync。 rsync 算法非常聪明,使用时会传输很少的不必要的数据。如果设置正确,它只会查看上次修改时间。

    我绝对会建议在尝试组合临时解决方案之前使用 aerofs 或 unison。

    关于performance - 如何设置双向快速文件同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9989822/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com