Оптимальная стратегия управления файлами для одной библиотеки, распространяемой на три компьютера

Ниже приведена проблема управления файлами, которую я бы хотел разобраться в Linux. Это не проблема управления версиями, а скорее синхронизация между компьютерами.

ситуация

Кстати, категоризация документа довольно хорошая, потому что я могу быстро получить каталог и файлы из командной строки. Поэтому я хотел бы придерживаться командной строки и скриптов, вместо того, чтобы прибегать к пакетному программному обеспечению для управления библиотеками.

умысел

Изображение усложняется, потому что иногда, когда вы работаете на компьютере A, а B и C выключены ,

  1. Я получаю новые документы, соответствующие категориям в dir-B и dir-C, поэтому я храню их в локальных копиях;
  2. Я мог бы изменить структуру dir-B и dir-C локально, чтобы улучшить категоризацию. Это сводится к созданию, удалению, переименованию, объединению подкаталогов, перемещению файлов, удалению беспорядка и т. Д. И т. Д.

Однако предполагается, что «главная копия» dir-B (dir-C) должна находиться в компьютере B (C). Итак, в выбранный момент модификации, выполненные на компьютере А, необходимо переносить на компьютер B (C).

Наконец, это должно работать и наоборот, когда я редактирую удобные копии dir-A в B и C.

Вопрос

Я думаю об оптимальной стратегии, чтобы иметь максимальную гибкость при данных ограничениях. Задача 1 – простая проблема синхронизации (я бы использовал rsync ), но задача 2 сложнее.

Следовательно, мне интересно

  • Существуют ли инструменты / утилиты в Linux, которые я мог бы использовать для реализации обеих задач 1 и 2?
  • Как бы вы решили это?
  • Может ли проблема быть фактически решена?
  • Возможно, я должен отказаться от каких-либо ограничений, чтобы сделать его работоспособным?

One Solution collect form web for “Оптимальная стратегия управления файлами для одной библиотеки, распространяемой на три компьютера”

Это не совсем проблема Unix / Linux, вы можете сделать это с любым уровнем сложности на любой ОС.

Lemme повторяет вашу проблему:

  • { 1 } У вас есть N компьютеров, которые могут или не могут быть связаны друг с другом в любой момент, обычно считаются состоящими из 1 ведущего и нескольких подчиненных
  • { 2 } Ресурсы на этих компьютерах деконфинируются с течением времени, переименовываются и т. Д.
  • { 3 } Вы работаете на одном компьютере за раз
  • { 4 } Вы хотите повторно синхронизировать компьютеры

Решение:

{ 1 } подразумевает, что вам требуется задание пакетной сверки, выполняемое с фиксированными интервалами, когда подключено по меньшей мере два компьютера.

{ 2 } означает, что вам нужно отслеживать переименование, повторную категоризацию и т. Д., Чтобы иметь возможность найти соответствующие ресурсы

{ 3 } приводит к выводу, что авторитетная запись найдена путем сравнения времени модификации на компьютерах.

  • Ключевой предпосылкой для того, чтобы иметь возможность сравнивать время для транзакций, чтобы найти последнюю, авторитетную запись, имеет точные часы на всех N компьютерах. NTP – ваш друг здесь.

  • Запись модификации обеспечивается механизмом inotify .

  • Решение о том, что нужно перемещать, где можно сделать, после определения противоречивых записей в N списках файлов. Я рекомендую GNU datamash как ранний кандидат на эту задачу.

  • Перемещение файлов вокруг – это самая простая задача. rsync достаточно универсален.

Наконец, поскольку мне не платят за это, я оставлю мирскую задачу написания сценариев в качестве упражнения для читателя.

  • Список всех файлов, отображающих типы файлов.
  • Могу ли я предотвратить создание файла?
  • , (точка) в режиме файла
  • Как скопировать каталог с только указанным типом файлов?
  • Как определить, скрыт ли файл
  • Удаленная папка продолжает возвращаться
  • Поворот файла
  • ldd говорит, что не найден, но файл .so находится в / usr / lib
  • Что делают файлы dead.letter
  • Как удалить «блокировку» из удаленных, но все еще используемых файлов в Linux?
  • awk-скрипт для удаления блоков в json
  • Несколько приложений, которые записывают один и тот же файл в общем разделе NFS
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.