Какие rsync опции использовать для ниже упомянутого сценария?

Поздравления!!!

Это расценивает конкретное требование о rsync, чтобы мы пытаемся достигнуть. Мы попытались достигнуть этого при помощи различных rsync опций. Однако мы встречаемся с различными проблемами с различными rsync опциями.

Фон: • У нас есть процесс (работающий на AIX) журналы, от которых добираются, вошел в систему A.log (существующий в каталоге журналов). • A.log повернут к A.CURRENT_DATE_TIME.log, после того как он достигает 100 МБ, и новый A.log создается. • Мы передаем эти журналы централизованному серверу с помощью rsync. Мы используем rsync на полном каталоге журналов. • INODE файлов на исходном сервере и целевом сервере отличаются. • После того как журналы находятся в централизованном сервере, идея состояла в том, чтобы читать/индексировать эти журналы централизованным процессом журнала, который выберет вход с этого централизованного сервера.

Проблема: • Хотя, A.log (целевой сервер) дан как вход к централизованному процессу журнала, он рассматривает INODE файла а не фактического имени файла. • Так, когда файл A.log перечислен, новый A.log имеет новый INODE, который не обнаруживается централизованным процессом. Это происходило, когда мы использовали-u –r –t опции с rsync. Так в этом случае INODE файла изменялся с каждый раз rsync, произошел и также когда трансформация происходит. Следовательно, процесс прекращает индексировать, поскольку он ищет старый INODE, который не присутствует.

• Идея состоит в том, чтобы использовать rsync с комбинацией опций, которые не изменили бы INODE файла во время rsync, но должны изменить INODE во время трансформации, когда A.log вращается к A.CURRENT_DATE_TIME.log. Так, для достижения этого мы включали - оперативная опция, и мы можем сохранить INODE в rsync и изменениях INODE во время вращения файла. Однако это дает нам другой вопрос теперь, где имя файла не изменяется и всегда остается A.log. Таким образом, после того как процесс сделан, индексировав A.log, он останавливается.

Было бы замечательно, если кто-то может предложить что-то, что могло бы помочь нам в достижении упомянутых требований.

С уважением, администратор промежуточного программного обеспечения Puneet Sinha

1
задан 20 May 2015 в 21:33
1 ответ

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

Я рекомендую НЕ копировать A.log, а только копировать A.CURRENT_DATE_TIME.log. Это упростит проект.

Я подозреваю, что система обработки журналов на целевом сервере смотрит на индексный дескриптор, чтобы определить, является ли файл, который раньше видел как A.log, A.CURRENT_DATE_TIME.log. Это ненадежно.

Вышеупомянутое решение имеет одну проблему: время, необходимое для создания строки в файле журнала до момента ее обработки централизованным процессом журнала, увеличивается. Например, если A.log вырастет до 100 МБ за 3 дня, то ничто из этого файла не войдет в процесс централизованного журнала на срок до 3 дней. Если журналы не могут быть отложены более чем на 2 часа, то я буду менять журналы каждые 1 час. Таким образом вы будете знать, что находитесь в пределах 2-часовой цели.

0
ответ дан 4 December 2019 в 07:36

Теги

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