Мне нужно создать безопасное удаленное соединение с парой файлов (SFTP, WebDAV / HTTPS,…).
Пользователи должны подключать и редактировать эти файлы, загружая-> редактируя-> загружая-заменяя или, что еще лучше, редактируя их на месте (если WebDAV).
Сервер (Linux или, в крайнем случае, Mac OS X Server 10.6) должен создавать изменения каждый раз при обновлении / замене файлов: возможно ли это?
Будем очень признательны за любые предложения.
Вы можете использовать inotify cron (incron) и git (быстрая система контроля версий)
Установите icron:
sudo apt-get install incron
Установите git:
sudo apt-get install git-core
Разрешить корневое использование incron:
echo "root" > /etc/incron.allow
Создайте репозиторий git:
mkdir /git
cd /git
git init
Создайте скрипт для автоматической фиксации / usr / local / sbin / git-autocommit:
#!/bin/bash
REP_DIR="/git"
NOTIFY_DIR="/srv"
cd $REP_DIR
GIT_WORK_TREE=$NOTIFY_DIR /usr/bin/git add .
GIT_WORK_TREE=$NOTIFY_DIR /usr/bin/git commit -a -m "auto"
Добавьте правила incron:
sudo incrontab -e
/srv IN_MODIFY,IN_CREATE,IN_MOVED_FROM,IN_MOVED_TO /usr/local/sbin/git-autocommit
Мне нравится git и Ubuntu)
Вы можете использовать систему контроля версий, например Subversion. Однако для этого потребуется, чтобы пользователи использовали его, а не прямые файловые операции. Или вы можете использовать rsnapshot (или аналогичную программу резервного копирования) для ежечасного резервного копирования. Таким образом вы можете потерять некоторые промежуточные версии, но пользователям не придется использовать SVN.