我们有一个基于Linux的web服务器(Media Temple),我们通过他们的DV托管解决方案托管多个域。我已成功为我们的项目之一创建SVN存储库,但现在我希望它能同步实际的web文件夹。无论是回购和站点文件是在同一台服务器上...路径如下:SVN update-commit需要钩子帮助
将svn的是在这里:/家庭/ SVN /库/ <网站名称>
活动网站文件这里:/ var/www/vhosts/<域名>/httpdocs/<子域>
我可以连接到回购没有问题。现场也适用。现在我只需要让它们同步。
我根据指南创建了以下更新文件,并正确更新了POST-COMMIT.tmpl,但仍然没有骰子。 http://www.frenssen.be/content/using-subversion-automatically-update-live-website
这里是我的更新程序代码:
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
execl("/usr/bin/svn", "svn", "update",
"/var/www/vhosts/<domain>/httpdocs/<subdomain>",
(const char *) NULL);
return(EXIT_FAILURE);
}
我叫在后COMMIT.tmpl文件的程序有以下几点:
#!/bin/sh
/home/svn/repositories/autoupdate/autoupdate
任何想法我我错过了?必须有一个更简单的方法来让文件同步?
我只是改名该文件并丢弃.tmpl - 重新启动守护程序 - 对存档中的文件进行了更改并将其提交,没有发生任何事情。 - 也进入/ home/avn/autoupdate文件夹并通过./autoupdate运行脚本。该脚本执行但活动服务器文件没有任何更改... – xXPhenom22Xx
要尝试和解决可能的权限问题,我做了整个路径到活服务器chmod 777.这一次,当我去脚本并手动执行它,我得到以下内容: 跳过'/ var/www/vhosts//httpdocs/' –
xXPhenom22Xx
@ xXPhenom22Xx:这实际上是结帐吗?如果你进入该目录,并手动运行'svn',会发生什么? – derobert