Задать вопрос
bigton
@bigton
Web-программист

Возможно ли логивать изменения файлов через sftp?

Всем привет.

Debian 11
SFTP over SSH

С помощью такой конфигурации логирую в /var/log/user.log факт изменения файлов
Subsystem sftp internal-sftp

Match Group sftp
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp -l INFO -f USER -u 002

Помимо этого хотелось бы логировать сами изменения, типа "diff before after > diff.txt"

Возможно ли решить эту задачу?

Спасибо!
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Выглядит, как попытка решить задачу неподходящим для этого инструментом. Изменения текстовых файлов обычно логируются с помощью VCS.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Я видел пакет iwatch. Кажется пытался где-то его применить. Он слушает слишком много событий. Там буквально каждый чих в файловую систему будь то просмотр директорий или атрибутов вызывает шквал событий и их надо грамотно буферизировать и фильтровать.

В идеале вы должны поставить свой ФТП-root под версионный контроль. Например под git. И делать чисто технический коммит на каждое событие изменения файла.

Проблема в том что в такой много-пользовательской среде как ФТП трудно выделить атомарную часть изменения чтобы обозвать ее коммитом. Если 2 пользователя одрновременно пишут в 2 файла в ФТП - это нормальное действие с точки зрения файлового сервака. И в этот момент трудно принять решение где-же собсно
был коммит. Мы полюбому будем фиксировать в коммитах недописанные тела файлов. Вот в чем проблемка.

И кому нужна такая бестолковая история изменений где файлы постоянно битые. Вобщем такие вот мысли.
Может я ошибаюсь.

Проверьте делает ли ФТП временное расширение для файла во время записи или обновления. Это важно.
Ответ написан
Ваш ответ на вопрос

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

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