使用visual studio for web开发asp.net时,将网站部署到Web服务器非常方便,它会巧妙地检查哪些文件已被更改,并且只上传这些文件。此外,如果您从源中删除了某些文件,它也会检测到这些文件并从Web服务器中删除这些文件,因为它们不再需要。
我开始使用LAMP堆栈进行开发,并且想知道如何以类似的方式部署到Web服务器。
我尝试使用Filezilla并将源文件复制/粘贴到Web服务器,如果有类似的文件,您可以选择这些选项:
-overwrite - 如果source更新,则覆盖 - 如果尺寸不同,则覆盖 - 如果尺寸不同或来源较新,则覆盖
"如果来源较新则覆盖"工作,种类,但它只检查修改日期,而不是文件的内容。此外,上述方法不会从Web服务器中删除从源中删除的文件。
使用Filezilla有更好的方法吗? (或者可能使用其他一些程序?)
感谢。
答案 0 :(得分:0)
您可以使用rsync来完成此任务。
如果您想推出更改,您可以从生产服务器执行此类操作。
rysnc -av user@<developmentIp>:/web/root/* /production/web/root/
模式为rsync --flags [user@host:]/source/dir [user@host:]/destination/dir
您只需要远程主机的user @ host内容。用户必须具有对主机的ssh访问权限。
几点建议。
可以从源或目标运行该命令。我发现从目的地运行命令更好,因为权限问题(即从远程读取并写入本地)
先做一些测试,我总是混淆目录的东西;我是否需要结束斜线,如果我使用星号,......
阅读手册页,有很多可能有用的选项(--delete
,--exclude
,-a
)