我不是一个真正的系统pipe理员,我主要是一个有一些UNIX知识的开发人员,因为我们没有任何有能力的系统pipe理员,所以我被委派执行备份策略的任务。 我们有很多Web服务器,有一些运行Mysql Srevers,另外一个是Apache,另一个运行nginx,我们使用SVN作为版本控制系统。 我们期待实施备份策略,并能够自动恢复服务器。 我们有两种可能性: 每天同步整个DISK 分析我们的configuration,并规范每个安装步骤,仅备份这些信息,并使用MySQL复制,SVN恢复数据,rsync仅备份configuration选项,以及软件包列表 就我们的观点来看,第一种方法的优点是实施起来非常简单,并且有利用大量服务器资源(CPU / RAM /带宽) 因为我们不想看到我们的服务器因为备份脚本的运行而滞后,所以我们决定更深入地研究(2)。 经过一番反思后,我想出了这样的想法,即我们的每台服务器可以分成5个部分 1 – networking服务器数据 SVN可以处理我们所有的php / css / js / html文件,我们只需要一个configuration文件来存储关于文件夹和存储库的信息。 例如:在文件/etc/backup/svn_folders.list中,我会有 FOLDERNAME1 SVN Repository Address1 FOLDERNAME2 SVN Repository Address2 etc… 那么万一发生崩溃,我们只需要parsing这个文件和SVN结帐。 2 – 用复制备份MySQL数据 我们有3个主要的mysql服务器,我在一个备份服务器mysql_multi上实现,同时有三个mysql实例运行,每个服务器都是主服务器。 那么,我每天都在 Stop slaves mysqldump start slave 这样,我确信我们的主MySQL服务器不受备份过程的影响。 然后,foreach主服务器,我只需要将这些信息存储在一个conf文件/etc/backup/mysql.info serverID = ID 要恢复数据库,我只需要从conf文件中获取这个serverID,然后从备份服务器将rsync对应的转储映像恢复到还原的服务器。 3 – 包装清单 使用debian,很容易知道系统上安装的完整软件包列表。 一个cron只会将这个列表存入/etc/backup/package.list […]
我使用VisualSVN来为多个SVN存储库提供服务,并使用Windows身份validation来控制访问。 某些文件的名称中包含[和]字符和空格。 通过VisualSVNpipe理控制台更改他们的权限导致它使用的authz-windows文件出现问题,并且我已经与他们联系了。 但是由于VisualSVN似乎使用CollabNet的SVN二进制文件(1.7.5),所以我认为我应该可以手动完成。 那么如何才能以SVN接受的formsinput文件名呢? 我试着简单地input它们 [repo:/path/to/[12345] my file.ext] < permissions here > 但是,我仍然可以访问该文件时,我不应该能够。 (我可以通过检查没有这些字符的其他文件来确认整个系统正常工作。) 我也尝试了URL引用( %5B12345%5D%20my%20file.ext ),用引号括起来,并且转义空格和括号的各种组合,但没有成功。 svnauthz-validate工具声称,所有这些都很好。
VisualSVN服务器安装失败,并显示以下错误消息: 自定义操作InstallWMISchemaExcute失败:无法查询代理毛毯:不支持此类接口(0x80004002)。
我最近遇到了https://stackoverflow.com/q/12365109/151453中描述的问题。 由于Subversion版本库文件由HTTP服务(svn 1.7)不支持下载恢复,是否有任何反向代理技术,可以cachingsvn文件,然后提供给客户端的简历支持?
Subversion 1.6的工作副本元数据存储在整个工作副本的每个目录中,即每个目录都有一个“.svn”目录。 这样做的一个好的副作用是,我可以轻松地复制工作副本中的任何子目录,并且它本身将是它自己的工作副本。 在Subversion 1.7中,工作副本的元数据结构发生了变化,只有顶层目录的整个工作副本都有一个“.svn”文件夹。 如果你在一个子目录上做了“svn info”,它仍然能够检测到它是工作拷贝的一部分,所以我认为svn会向上遍历,直到它在父目录中命中“.svn”或者击中文件层次结构的根。 但是,如果我把这个子目录复制到其他地方,它将不再有这种关系了。 这并不是说在大多数情况下这是一个问题,但是我失去了上面提到的好的副作用。 有没有办法让svn客户端从本地工作副本中导出一个子目录的工作副本,而不必返回到服务器? 我试图这样做的原因是因为我们的svn回购,初始结账进入50gig,造成了巨大的networking负载。 我曾经把硬盘上相对较新的工作副本传递给任何新的木匠,以便将其复制到笔记本电脑中作为各种各样的开始。 我有这个硬盘上的整个回购,但有些人只需要特定的子目录,所以能够创build一个子目录工作副本将是一个不错的奖金。 谢谢,黄先生
如何在Collabnet Edge SVN服务器上创build只读用户(用于从其他websvn服务器访问)? 我通过networking界面拥有一定的pipe理权限以及直接的服务器访问权限。
我在Ubuntu上有一个网站。 我已经将文件的所有权更改为www-data:www-data 。 为了更新文件,我通常必须运行sudo svn up ,但是将一些文件所有权改回到root:root 。 有没有办法运行svn up作为万维网数据?
在我的Ubuntu上,我已经安装了: trac 1.0 SVN 1.6.17 trac插件用于颠覆 然后我configuration我的存储库。 当我设置它,它要求我同步我的存储库,我做到了。 当我这样做的版本在Trac中可见: 我可以在出现的“浏览源”选项卡中看到最新版本的源代码。 当我去“pipe理” – >“知识库”我看到正确的更改版本 然后,我在源头上做了改变,并开始着手解决问题: 我的变化没有出现在“时间线” “浏览源”下的源代码仍然在以前的版本,并没有显示我的最新变化 “Admin” – >“Repositories”也显示版本库的不正确的旧版本 这使我困惑不已。 我认为这可能是权限的东西,但我正在用我的user用户运行deafult tracd 。 如果我使用相同的用户,并执行: trac-admin <my-trac-env> repostory resync <my-repo-name> 我也得到了新版本同步,并解决了上面列出的所有问题。 当然,我不会去每个编译后做repository rescync 。 请帮我弄清楚我的configuration中的问题可能是什么!
我使用Apache 2和mod_dav_svn为https://mysite.example.com/svn/提供SVN存储库 存储库位于/ srv / svn / repo1服务器上的磁盘上 它运作良好。 我现在想允许通过不同的主机名和不同的HTTPauthentication访问同一个仓库 。 如果我为额外的主机名添加一个单独的额外的Apache 2虚拟主机,并在它下面安装相同的/ srv / svn / repo1,这是否工作? 我无法find一个明确的答案,这是否支持使用mod_dav_svn,而且我担心如果通过这两个虚拟主机同时发生多个提交,我可能会遇到存储库损坏。
我想设置Subversion版本库,以便可以使用相同的用户名和密码来访问存储库,如在SSHlogin。 我设法login工作,以便正确的用户名是必需的,但它接受任何密码。 我怎么能得到它需要有效的密码呢? 我使用“标准模块”,Apache2,Subversion和libapache2-mod-authnz-external运行Ubuntu服务器8.04.2。 另外我发现了一个名为pwauth的实用程序来帮助validation。 以下是来自configuration的相关部分: /etc/apache/apache2.conf AddExternalAuth pwauth /usr/local/bin/pwauth SetExternalAuthMethod pwauth pipe AddExternalGroup unixgroup /usr/local/bin/unixgroup SetExternalGroupMethod unixgroup environment /etc/apache/mods-available/dav_svn.conf: AuthType Basic AuthBasicProvider external AuthExternal pwauth GroupExternal unixgroup AuthName "Subversion repository" Require group users Require user myaccount /etc/pam.d/pwauth: auth required pam_succeed_if.so user=www-data account required pam_localuser.so config.h for pwauth: #define PAM /* Linux PAM or OpenPAM*/ […]