2009-11-11 59 views
0

我作为一个自由Web开发工作,到现在为止已经手动FTP传送我的脚本/数据库/静态文件到我的Web服务器,但我发现这是太容易出错。所以我正在寻找一个应用程序来自动上传新的和更新的脚本/文件/数据库/等。我知道很多独立开发者使用WinSCP或Unison,但我不认为这些应用程序可以同步数据库。同步脚本/ DB /从开发系统到网络服务器上的文件

有没有人有任何其他建议?它不需要太多功能丰富,因为我不是在一个团队内工作,或跨越多个操作系统或类似的东西。如果需要,我可以购买任何价格合理的许可证。我的工作主要针对Windows系统上的PHP/MySQL/Apache,然后上传到Linux/Apache服务器。

感谢您的时间!

回答

0

您可以使用类似rsync这将同步任何东西,将工作在SSH连接。但是,您可能需要考虑将应用程序与数据分离并使用不同的方法。据推测,如果你在你的机器上开发,你将运行本地测试,本地数据通常不应该进入网站。在这种情况下,如果您在本地运行类似SVN的东西,然后使用Web服务器上的SVN客户端来下载更新,则可以在不影响数据的情况下同步应用程序。

当然,当你需要的时候,rsync的可以用来上传的一切,例如到一个新的站点。

根据其性质,可以rsync的每当传输将被中断顺利重新启动,因为它总是源和目的地,然后只传输尽可能多的数据,以使目的地等于源是需要的。这意味着您的大多数传输将比FTP传输快得多。

如果您的Web应用程序的性质,需要定期更新的数据库,不要被诱惑去尝试,因为SVN版本控制系统实际上只用源代码文件工作。此外,当您使用rsync发送更新,你必须确保该数据库不活跃,因为它实际上是在一个腐败状态,直到rsync的成功完成。如果您始终更新到Web服务器上的暂存文件夹,然后在数据库关闭时将其转移到生产环境中,那最好。

0

希望你使用某种类型的版本控制系统,如SVN或Mercurial。然后,您的所有开发人员都可以从同一个存储库进行工作,拥有完整的历史记录,并且大部分合并将自动进行。

不使用版本控制是屁股巨大的痛苦!你会不小心踩到他人的工作,丢失文件,忘记改变了什么,在任何地方都有多个文件副本等等。版本控制系统处理所有这些问题,再加上他们将你的代码集中到一个单一的位置,以便从和推到。

相关问题