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"

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы