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

Ниже приведена проблема управления файлами, которую я бы хотел разобраться в 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?
  • Как бы вы решили это?
  • Может ли проблема быть фактически решена?
  • Возможно, я должен отказаться от каких-либо ограничений, чтобы сделать его работоспособным?

  • Удалить файлы из списка, которые были созданы / изменены в субботу
  • md5sum для каждого файла (с ll)
  • Файловые дескрипторы и имена файлов
  • Свободное место на диске из файла журнала JBoss, который все еще записывается в
  • awk, awk с переменными, файл
  • Сравнение столбцов между разными файлами
  • Как удалить файл, начинающийся с «>» или других необычных символов
  • Могу ли я создать символическую ссылку, которая будет игнорировать подкаталоги?
  • 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 достаточно универсален.

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

    Interesting Posts

    Скопируйте файл из nautilus-script в буфер обмена

    Простой эмулятор терминала (с возможностью записи) с меткой-копией с «универсальным» $ TERM

    bash error find: -printf: неизвестный первичный или оператор

    Как сделать просмотрщик PDF восприимчивым к изменениям в Debian

    Переключение вкладок с помощью прокрутки мыши

    Что делает /etc/cron.daily/apt?

    Файл cat1 в файл2 после определенного соответствия шаблону

    Разница между Xorg и Gnome / KDE / Xfce

    Повторяются ли повторяющиеся записи в переменной PATH с приоритетом, заданным первой записью?

    linux-firmware-nonfree зависает моя система, но мне она нужна для 3D-графики

    эта команда работает, но когда я использую ее в цикле for, это не

    перемещать файлы по шаблону с помощью zsh / zmv

    SSH для более старой Linux-платформы с использованием удаленной переадресации портов

    Возможно ли получить доступ к qemu-монитору, когда VM уже запущена?

    Метод для быстрого поиска DNS-поиска во время wget

    Linux и Unix - лучшая ОС в мире.