Назад | Перейти на главную страницу

Автоматическая редакция файла при загрузке

Мне нужно создать безопасное удаленное соединение с парой файлов (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.