我需要创建到几个文件的安全远程连接(SFTP,WebDAV/HTTPS,...)。
用户需要通过下载->编辑->上传替换来连接和编辑这些文件,或者更好的是,通过就地编辑它们(如果是 WebDAV)。
每次更新/替换文件时,服务器(Linux 或作为最后的手段 Mac OS X Server 10.6)都应创建修订版:可以吗?
如有任何建议,我们将不胜感激。
答案1
您可以使用 inotify cron(incron)和 git(快速版本控制系统)
安装 icron:
sudo apt-get install incron
安装 git:
sudo apt-get install git-core
允许root使用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)
答案2
您可以使用版本控制系统,例如 Subversion。但是,它要求用户使用它,而不是直接进行文件操作。或者,您可以使用 rsnapshot(或类似的备份程序)进行每小时备份。这样,您可能会丢失一些中间版本,但用户不必使用 SVN。