Debian 9 或 Ubuntu 16 上的备份和恢复破坏了“svnversion”的性能

Debian 9 或 Ubuntu 16 上的备份和恢复破坏了“svnversion”的性能

有没有什么方法可以备份和恢复不扰乱的文件系统svnversion

如果我尝试以下一组操作:

  1. 查看大型 SVN 存储库并构建代码
  2. 备份 SVN 签出文件夹
  3. 将 SVN 签出恢复到另一个位置

svnversion然后,备份和恢复副本的运行时间将比原始副本多得多:

$ cd original_directory
$ echo 3 | sudo tee /proc/sys/vm/drop_caches
$ time svnversion
real    0m5.204s
user    0m0.486s
sys     0m0.698s
$ cd backed_up_and_restored_directory
$ echo 3 | sudo tee /proc/sys/vm/drop_caches
$ time svnversion
real    1m55.846s
user    0m2.813s
sys     0m5.653s

echo 3 | sudo tee /proc/sys/vm/drop_caches是为了清除 Linux 缓存,所以我测量的是“从冷”开始。svnversion任一文件夹中的一秒钟都只需要几分之一秒。

对于迄今为止尝试过的所有备份技术( 、 和 ext4 / ),我都看到了相同的结果tarrsyncdump还在restore各种文件系统(ext4、btrfs、gluster)和 Linux 发行版(Debian 8、Debian 9 和 Ubuntu 16.04)中看到了类似的行为

为了回答 Gerard 的问题,以下是几个备份/恢复命令的示例:

rsync:

rsync -x -aH --whole-file --delete source_directory/ destination_directory

转储/恢复:

dump 0uaf backup_file.dump .
restore -rf backup_file.dump

我认为发生这种情况的原因是恢复的文件和子目录以不同的顺序存储在磁盘上,这使得svnversion复制运行效率非常低。

有没有其他人遇到过这种情况?有谁知道 Linux 备份/恢复技术可以让文件和目录保持“相同的顺序”以防止出现此问题?

答案1

确保保留修改时间,例如使用 rsync

rsync -t -x -aH --whole-file --delete source_directory/ destination_directory

相关内容