上传时自动修改文件

我需要创build一个安全的远程连接到几个文件(SFTP,WebDAV / HTTPS,…)。

用户需要通过下载 – >编辑 – >上传 – replace来连接和编辑这些文件,或者甚至更好地通过编辑它们(如果WebDAV)。

服务器(Linux或作为最后的手段Mac OS X服务器10.6)应该创build修订每次文件更新/replace:是否有可能?

任何build议将非常感激。

你可以使用inotify cron(incron)和git(快速版本控制系统)

安装icron:

sudo apt-get install incron 

安装git:

 sudo apt-get install git-core 

允许root使用incron:

 echo "root" > /etc/incron.allow 

创buildgit存储库:

 mkdir /git cd /git git init 

创build脚本来自动提交/ 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。