我正在开发一个简单的网站(在VPS中)使用PHP。 我的问题是:如何使用安全协议发送我所做的更改? 目前我使用scp但我需要一个软件来检查文件是否更改,如果是将它发送到服务器。如何自动上传更改?
建议?
我正在开发一个简单的网站(在VPS中)使用PHP。 我的问题是:如何使用安全协议发送我所做的更改? 目前我使用scp但我需要一个软件来检查文件是否更改,如果是将它发送到服务器。如何自动上传更改?
建议?
使用的inotify + rsync的或lsyncd http://code.google.com/p/lsyncd/
退房这篇博客的inotify的方法http://www.cyberciti.biz/faq/linux-inotify-examples-to-replicate-directories/
如果您可以完全访问您的VPS,那么您可以通过ssh和webdav在本地将远程主目录挂载为普通文件系统。之后,您可以在本地进行电脑编辑。任何更改都应该自动上传。
看一看这个相关article
FTP(S):在目标上设置一个FTP服务器以及SSL证书(个人证书足够好)。
SSH:你可以通过SSH本身传递文件,但我发现它最不可靠(imho)。
股票:您可以与本地计算机共享一个文件夹(与其他人一样)。如果不难诊断断开连接问题,这将是完美的解决方案。我已经经历了这一点,这远非愉快的经历。
Dropbox:在您的VPS和本地PC上的保管箱客户端上设置保管箱服务器。使用Dropbox的(或类似的方法,如SkyDrive中,icloud的..),也有一些额外优势,例如,版本控制,恢复,冲突检测...
总而言之,我认为FTPS方式是最可靠和流行的一个我曾经用过的。通过SSH,它在大约2天后使用它导致了几个问题。磁盘共享方法导致了我几个问题,主要是因为它需要你对协议有所了解。 虽然设置方法有点费时,但它仍然是一个很好的解决方案。不过,我只会将它用于较大的客户,而不是平均的宠物爱好网站:)
再次,这只是从经验。
你也可以使用Subversion来做到这一点,虽然安装过程可能需要一点时间。
你基本上创建了一个Subversion版本库并提交了所有的代码。然后在您的Web服务器上,使根目录成为该存储库的签出。
创建一个运行svn update命令的脚本,并将其设置为提交后挂钩。从本质上讲,每当你从工作站进行提交时都会执行该脚本。
所以总之,你会......
当然,你将不得不隐藏所有的.svn目录使用.htaccess文件公众(提供你使用Apache)的。
我知道这是行得通的,就像我过去所做的那样。
这个选项的美妙之处在于你也可以得到一个二合一的选择。源版本和简单的更新。如果你犯了一个错误,你也可以很容易地恢复它们。