есть ли своего рода catchable триггер, когда каждый пишет/удаляет новый файл в Linux?

Так как Вы уже используете Марионетку, самый легкий способ сделать, это (и лучшее для контроля изменений / отслеживание целей) должно указать требуемую версию пакетов, которые Вы хотите установленный в марионеточной декларации. Вы следите за списком объявлений безопасности, и когда что-то, что Вы используете, проникает через Вас, просто обновляют Марионетку для высказывания, "устанавливают эту новую версию этого пакета". Принятие Вас использует управление версиями на Ваших декларациях, Вы затем знаете, когда "политика" была изменена, и отчеты от Кукольного представления Вы точно, когда изменение было на самом деле внесено (таким образом, можно коррелировать это легко против любых более поздних событий журнала).

0
задан 28 June 2010 в 05:29
4 ответа

В моем ответе на этот вопрос я предложил incron. Легко настроить и определенные для пользователя файлы конфигурации в масштабе всей системы способом, подобным cron. Можно указать скрипты, которые будут запущены, когда события файловой системы будут инициированы. Это использует ядро Linux inotify API. Вы могли бы смотреть на него и видеть, работает ли это на Вас.

4
ответ дан 4 December 2019 в 11:13

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

1
ответ дан 4 December 2019 в 11:13

Попробуйте inotify. Для Ваших относительных простых требований это должно подойти лучше всего.

Сценарий в качестве примера:

while { inotifywait -e create -e delete /directory2watch; }; do
  echo rsync -avz /directory2watch
done

Или что-то как этот.

С inotify у Вас есть доступ к тем событиям:

  • доступ – к файлу получили доступ
  • измените – файл был изменен
  • attrib – атрибуты файла изменяются
  • close_write – закрытый файл, будучи открытым в записываемом режиме
  • close_nowrite – закрытый файл, будучи открытым в режиме только для чтения
  • близко – закрытый файл, независимо от режима чтения-записи
  • открытый – файл был открыт
  • переместитесь – файл в рамках наблюдаемого каталога был перемещен
  • создайте – файл был создан в рамках наблюдаемого каталога
  • удалите – файл был удален в рамках наблюдаемого каталога
  • delete_self – наблюдаемый файл был удален
  • размонтирование – файловая система, в которой существует наблюдаемый файл, была размонтирована
2
ответ дан 4 December 2019 в 11:13

Очевидным решением здесь является afs

Там все виды сложностей с помощью DRBD на чем-либо кроме маленькой LAN с высокими уровнями возможности соединения между узлами.

Но Вы могли прокрутить свое собственное решение с помощью inotify

0
ответ дан 4 December 2019 в 11:13

Теги

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