技术分享:如何删除SVN备份库
本节和大家一起学习一下如何删除SVN备份库,之前我们学习了删除SVN版本控制信息,大家可以和本节对比一下,看看二者有什么区别,欢迎大家一起来学习删除SVN备份库的方法。
删除SVN备份库
问题描述:
用svnadminhotcopy备份的svn库是svn一个完整拷贝,保证了备份的完整、可靠。但用这种方式备份出现的问题是:备份占用空间比较大,需要定期进行删除,而我们发现删除非常困难。
尝试如下:
1、输入:rm-rfrepos_backup1
提示访问拒绝。进到repos/db/revs里面发现里面的文件权限都是
-r--r--r--
这样的,所以谁也不能用上面的命令进行删除了。
2、输入:rm-Rrepos_backup1
遇到每个文件都提示:是否重写权限,选择是,才会删除成功:
overriderwxrwx---4294967294/usersfor1117/repos1/db/revprops/11249?一个库往往有数十个万个文件,这种删除方式显然不现实。
3、输入:chmod-R777repos_backup1;rm-Rrepos_backup1
等待半天,提示堆栈溢出。输入ulimit-a查看,堆栈限制为7715;修改这个参数必须重启系统,服务器级别比较高,不敢重启,只好作罢。于是想到了用脚本来进行删除。
删除SVN备份方案设计如下:
目标:定期删除备份数据,并保证备份数据一直介于7到16份之间
步骤:
1、每月1号删除上个月21号之前所有数据
2、每月15号删除上个月所有数据和本月8号前的所有数据
3、每月25号删除本月19号之前的所有数据。
用perl脚本实现,代码如下:
#!/usr/bin/perl
#Author:xuejiang
#Site:http://www.scmbbs.com
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf