成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

技術分享:如何刪除SVN備份庫

開發 項目管理
在學習SVN的過程中,你可能會遇到刪除SVN備份庫方面的問題,本文就向大家介紹一下刪除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 #p#

#本單元:定期刪除SVN備份數據,并保證備份數據一直介于7到16份之間,
#適用:備份目錄以mmdd的日期格式命名。
useCwd;
useFile::Find;
&main();
submain()
{
#取得當前時間,根據時間設置定期進行刪除
my$targetDir="/home/backup/svn/hotcopy2/";#定義備份目錄。
my($sec,$min,$hour,$day,$month,$year,$wday,$yday)=localtime(time());
$month++;
my$today=sprintf("%02d",$day);
if($today!~/(01$|15$|25$|)/)
{
exit(0);
}
my$monthday=sprintf("%02d%02d",$month,$day);
my$thismonth=sprintf("%02d",$month);
my($lastmonth,$passdate,$tempstr);
#定義刪除的目錄數組,對每個目錄調用函數deleteDir進行刪除。
chdir($targetDir);
my@dir=<*>;
print@dir;
if($thismonth=~/01/)
{
$lastmonth='12';
}else
{
$lastmonth=$thismonth-1;
}
foreachmy$dir(@dir)
{
if($dir=~/[^0-9]/)
{
next;
}
#每月1號刪除上個月21號之前所有數據
if($today=~/01$/)
{
$passdate=$lastmonth.'21';
if($lastmonth=='12')
{
$tempstr=substr($dir,0,2);
if(($tempstrne"01")&&($dir<$passdate))
{
&deleteDir($targetDir.$dir);
}
}else
{
if($dir<$passdate)
{
&deleteDir($targetDir.$dir);
}}}
#每月15號刪除上個月所有數據和本月8號前的所有數據 #p#
if($today=~/15$/)
{
$passdate=$thismonth.'08';
if($dir<$passdate)
{
&deleteDir($targetDir.$dir);
}
if($lastmonth=='12')
{
$tempstr=substr($dir,0,2);
if($tempstr=="12")
{
&deleteDir($targetDir.$dir);
}}}
#每月25號刪除本月19號之前的所有數據。
if($today=~/25$/)
{
$passdate=$thismonth.'19';
if($dir<$passdate)
{
&deleteDir($targetDir.$dir);
}
if($lastmonth=='12')
{
$tempstr=substr($dir,0,2);
if($tempstr=="12")
{
&deleteDir($targetDir.$dir);
}}}}}
#遞歸遍歷各目錄,遍歷各個文件,每個文件先進行chmod777filename操作,再進行rm-rffilename操作。

subdeleteDir($)
{
my($dir)=@_;
print"loginthedir:$dir\n";
my$handle;
opendir($handle,$dir);
while(defined(my$ndir=readdir($handle)))
{
if(($ndireq".")||($ndireq".."))
{
next;
}
$ndir=$dir."/".$ndir;
if(-f$ndir)
{
ls`chmod777$ndir`;##如果需要此步。
print"file:$ndir\n"ifunlink($ndir);
}else
{
print"Dir:$ndir\n";
deleteDir($ndir);
}}
closedir($handle);
rmdir($dir);
print"nowlocate:$dir\n";
}。本節關于刪除SVN備份庫介紹完畢。

【編輯推薦】

  1. Lniux和Windows下如何刪除SVN版本信息?
  2. 如何刪除SVN及其恢復問題名師指點
  3. 刪除SVN版本信息行之有效的辦法
  4. SVN基本操作之新手上路
  5. 跟蹤報道SVN客戶端常用命令 

 

 

責任編輯:佚名 來源: it168.com
相關推薦

2010-06-02 16:09:05

SVN協議

2010-05-26 15:39:36

SVN服務

2010-05-26 14:53:28

SVN版本庫自動備份

2010-05-25 14:54:18

2010-05-28 12:55:23

2010-05-26 15:07:36

SVN版本庫自動備份

2010-05-26 18:32:07

SVN庫

2010-06-02 16:32:28

SVN代碼管理

2010-05-31 18:20:25

配置SVN訪問

2010-05-26 18:43:42

SVN庫

2010-05-25 11:24:30

SVN安裝配置

2010-05-31 13:11:45

MyEclipse下S

2010-06-01 15:41:09

創建SVN倉庫

2010-05-31 20:07:31

SVN版本控制插件

2010-05-24 14:00:43

Flex Svn

2010-05-27 14:59:30

配置SVN1.4

2010-05-28 18:53:36

配置SVN1.4.5

2010-06-01 19:06:27

刪除SVN

2010-06-02 11:16:31

2010-06-01 18:26:11

刪除SVN
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本在线观看视频 | 麻豆亚洲 | 久久91精品国产一区二区三区 | 国产在线观看福利 | 精品国产精品国产偷麻豆 | 伊人伊成久久人综合网站 | 一级午夜aaa免费看三区 | 天堂一区二区三区 | aaa级片 | 综合久久99 | 欧美激情一区二区 | 精品国产第一区二区三区 | 日韩a v在线免费观看 | 超碰人人爱 | 国产精品久久久 | 午夜精品久久久久久久久久久久久 | 欧美精品中文字幕久久二区 | 日韩欧美黄色 | 精品国产一区二区 | 99亚洲国产精品 | 亚洲精品大全 | 亚州精品天堂中文字幕 | av一区二区三区四区 | 国产乱码久久久久久 | 国产二区av | 亚洲成人一区二区 | 国产精品污www一区二区三区 | 欧美日韩高清 | 国产婷婷色一区二区三区 | 欧美一级特黄aaa大片在线观看 | 亚洲综合视频 | 黄网站在线播放 | 亚洲精选久久 | 免费毛片网站在线观看 | 男人天堂免费在线 | 黄网站涩免费蜜桃网站 | 亚洲精品毛片av | 狠狠热视频 | 久草.com| 天天澡天天狠天天天做 | 自拍偷拍一区二区三区 |