sumej
@sumej
DevOps

Как быстро сравнить файлы в Linux, получить дельту и потом по ней откатить/восстановить изменения?

Добрый день

Есть базовая папка(темплейт) которая копируется на сервера, там изменяется.
Нужно быстро находить дельту между базовой папкой и текущей. Имея базовую папку(темплейт) везде и скачивая дельту восстанавливать текущее состояние.
git/svn/cvs не подходят

Если возможно все обновлённые файлы и папки сохраняются в определённой, которую можно сразу заархивировать. Список файлов для удаления выводится/сохраняется в файл.

Если нельзя:
После запуска rsync я вижу какие файлы обновлены/удалееы во второй папке.
А вот всякие skipping non-regular file "dev/ptya7" мне не нужны.

Вроде бы "это работает" для второго варианта, но как сделать первый вариант?:
root@RDE-1.3:~# mkdir DST SRC
root@RDE-1.3:~# mkdir DST/1 DST/2 SRC/3 SRC4
root@RDE-1.3:~# echo "test" >DST/test
root@RDE-1.3:~# echo "test" >SRC/test2
root@RDE-1.3:~# touch DST/1/dddddd
root@RDE-1.3:~# rsync --dry-run --recursive --del -v -l -c  SRC/ DST
Но по прежнему это медленно если делать первый запуск:
time rsync --dry-run --recursive --del -v -l -c  20/ 130

sent 1172310 bytes  received 5382 bytes  22867.81 bytes/sec
total size is 838851722  speedup is 712.28 (DRY RUN)

real    0m50.912s
user    0m2.688s
sys     0m7.784s


Второй запуск бодрее:
sent 1172347 bytes  received 5385 bytes  261718.22 bytes/sec
total size is 838851722  speedup is 712.26 (DRY RUN)

real    0m4.384s
user    0m3.268s
sys     0m1.732s
  • Вопрос задан
  • 2696 просмотров
Пригласить эксперта
Ответы на вопрос 3
@mx2000
docker умеет всё вышеперечисленное.
Ответ написан
sumej
@sumej Автор вопроса
DevOps
Нашёл ответ: overlayfs, но у него одна проблема - поддержка вложенного монтирования
Ответ написан
Комментировать
insiki
@insiki
broken pipe
Может стоит посмотреть на ZFS?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы