大版本SVN库备份快速重建方法

svn仓库一般都是会配置svnsync的实时备份仓库,备库会从主库一个版本一个版本拷贝,但是如果主库已经有几十万版本后,想通过简单的svnsync init一个新的备份仓库,然后从0版本开始sync,所需的时间无法估计

为了快速重建备份,可以使用下面的方法来处理

1. 首先将主库hotcopy一份

svnadmin hotcopy reponame reponame-bak

2. 将热备的备份同步到备机

rsync -avz reponame-bak username@bakserver:/svnroot-path

3. 在备机增加改备库的svn权限
Read more

Awk求最大值正解

这是一个很简单的功能,今天有同事问AWK如何实现,为什么最后结果是按字符串排序获取到的最大值,同事还在网上搜了下,给出的答案是清一色的,这些人压根不负责,难道你都没自己执行下命令看看返回的结果是否正确吗?只知道复制粘贴

例如下面一段文本

858
569
1858
1526
256
382
112
1145
921
556
228
215
1356
158

大部分的网上文章都给出了清一色的答案,如下:

cat data|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'

负责任的说,获取到的最大值一定是921,而不是1858,因为第一位是9最大,按字符串比较的,而且为啥还要cat后在管道给awk。。。。

为了正确获取到最大值,需要让awk按数字去比较,因此在比较时需要先将变量强制转换为整数型,这样获取到的最大值就是正确的

awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1 fi} END {print "Max=", max}' data

这里可以看到比较时对两个变量先加0,就是做数据类型的转换

真心鄙视国内的文章不验证,直观复制粘贴转载,好无节操

多看书城邀请码——免费获取正版书

kindle touch到现在kindle paperwhite一直都在用多看,多看书城现在越来越好了,书越来越多,质量还是很不错的

多看在kindle、iOS、Android都能使用,并且阅读记录,书签,笔记全部都能同步,体验很好,如果你还没开始使用多看,墙裂推荐你注册使用

这里如果你使用我的邀请码注册,你将免费获得对应的书籍,当然我推荐你使用我肯定也有好处,就是你以后再多看购买的第一本书籍我也讲免费获得,可以说是等价交换

一天基本就被用完了。。。看邀请历史有个人是注册了好多马甲,用了也不留个言说下,好多事应该是不会限免的,早知道就不直接贴出来了,需要的留言再给,搞马甲的基本也不会自己去买书

现在改为吧把所有邀请码都贴出来,有些是曾经限免过的书,但是限免过就不会再限免了,喜欢也可以用这个邀请码

另外如果你使用了哪个邀请码,请你回复告诉我,我标注已使用

拒绝马甲,请选择一个你最喜欢的书,不要把资源全部占了

快看看有没有你想要的书籍呢
Read more

NERV人类补完计划

人类补完计划

人类补完计划——人类(无论是肉体还是心灵)都是由脆弱的物质构成的,所以也就非常容易受到伤害,而在人与人之间,心灵的世界是彼此隔绝的,要使人类向更高的领域进化,就必须使人的心灵摆脱躯体的束缚,重新回到人类的诞生之地“莉莉斯之卵”中。唯有如此,才能最终拆除人与人之间的心灵屏障,使不同的心灵世界能够相互补充,走向进化的终点——成为永生的“神”。

上面是我最喜欢看的EVA里提到的人类补完计划,在当前这个优胜劣汰的时代,也该制定一个我自己的补完计划。

IT屌丝感悟

在自动化、智能化越来越高的年代,运维大多数岗位都不得不转型,当发布可以完全自动化,监控系统能够收集到完整的运行信息,基于这些信息,根据运维经验判断可以制作出运维决策模型,甚至更加牛叉的AI,对于运行出现问题时就可以自动下线有问题的机器,或者自动扩容,自动切库,自动。。。。。。总之就是曾经大量苦逼的人力完成的东西可以通过智能自动化的系统完成,而且更加快速。当你的工作将被系统全部代替时,而你没有当前系统无法替代你处理的能力时,那就是悲剧的开始啊。
Read more

提交异常文件名导致SVN库无法操作的解决方案

昨天本来应该是挺happy的一天,元旦假期即将开始了,但是由于一个开发同学向SVN库中提交了一个文件名包含特殊字符的文件,导致无法更新,检出,也无法增量同步到备库,所有操作只要碰到那个文件则会被强制中断,日志也无法查看了

最后无奈的只能选择将整个库dump出来,然后使用svndumpfilter来抽取那个有问题的文件,然后将处理后的dump文件重新load到一个新的SVN仓库,具体的方法如下。

首先先找到那个有问题的版本,通过看svn日志,发现整个仓库最新版是2696,而日志只能显示2696和2695两个版本,而2694开始就显示不了日志
Read more

SVN负载均衡方案

由于svn是集中式管理的,所有的读取写入都需要集中到一台服务器,但是当使用人数相当庞大时,一台服务器很难支撑,因此就需要想办法实现SVN服务器集群的负载均衡。

国外有一家公司专门提供SVN负载均衡的解决方案,由于是商业解决方案,因此从网站上看不到任何解决次问题的技术文档,而国内压根搜不到这类文章,但是很多公司一定在使用集群式的SVN,例如Google的Code,如此庞大的请求量,如果每个repo都仅靠一台服务器很难支撑,但是也办法知道Google是如何解决的。

我自己瞎折腾出一个方案,不过只能说是雏形,其中可能还会涉及auth缓存以及auth信息如何在多集群间传递而不中断用户操作,各位看官路过如果有建议或者发现问题非常欢迎指出。

方案很简单,由于svn大部分都是update或者checkout请求,而commit这种写操作相当非常少,思想就是读写分离,提高svn的性能想到一个方法就是类似DB的读写分离。因为svn这种集中式管理的仓库,写还是必须写到同一地方,但是读取仓库内容可以分散到多个备库,减轻主库压力,而且大部分请求都是读取,写入请求相当很少。
Read more

feed

手机扫描二维码访问移动版
2014年七月
« 十    
 123456
78910111213
14151617181920
21222324252627
28293031  

赞助链接

近期评论

    最近访客