前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >svn备份

svn备份

作者头像
py3study
发布于 2018-08-02 02:29:21
发布于 2018-08-02 02:29:21
1.1K0
举报
文章被收录于专栏:python3python3

svn备份一般采用三种方式:

1. svnadmin dump

2. svnadmin hotcopy

3. svnsync

svn服务器的根目录是/svndatasvn,本来想直接把根目录打包就可以。因为之前svn迁移,直接用scp就搞定了。

后来商讨了一下,用svnadmin hotcopy

命令如下:

svnadmin hotcopy /svndata/dts /opt/1/dts

因为/svndata/目录下面有很多项目,我不想在shell里面写死。一来是因为目录太多,二来是后续如果增加项目,又要改脚本,比较麻烦。

介绍一个shell,用来遍历目录。之前看别人的shell遍历太复杂,看着头疼。

#!/bin/bash

for file in /svndata/*

do

    if test -f $file

    then

        echo $file 是文件

    fi

    if test -d $file

    then

        echo $file 是目录

    fi

done

效果如下:

/svndata/dts 是目录

/svndata/fenci 是目录

/svndata/kdy 是目录

/svndata/message_bak 是目录

......

然后建立备份目录

mkdir /opt/1/svndata

修改下脚本,修改部分加粗显示

#!/bin/bash

for file in /svndata/*

do

    if test -f $file

    then

        echo $file 是文件

    fi

    if test -d $file

    then

        #echo $file 是目录

        svnadmin hotcopy $file /opt/1$file

    fi

done

执行脚本,没有输出

查看目录

[root@localhost opt]# ll /opt/1/svndata/

drwxr-xr-x 6 root root 4096 9月   8 13:41 dts

drwxr-xr-x 6 root root 4096 9月   8 13:41 fenci

drwxr-xr-x 6 root root 4096 9月   8 13:41 kdy

drwxr-xr-x 6 root root 4096 9月   8 13:41 message_bak

完整的备份脚本svn_backup.sh如下:

注意,我的svn根目录是svndata,请注意修改下

#!/bin/bash

echo "############################" >> /backup/svn.log

statime=`date +%Y-%m-%d" "%H:%M:%S`

echo "$statime svn开始备份" >> /backup/svn.log

#创建备份目录

timea=`date +"%Y%m%d"`

mkdir -p /backup/svn/directory/$timea/svndata

mkdir -p /backup/svn/gzip

#遍历SVN所有项目,同时将遍历的目录一个个复制到备份目录

for file in /svndata/*

do

    if test -f $file

    then

        echo $file 是文件

    fi

    if test -d $file

    then

        #echo $file 是目录

        svnadmin hotcopy $file /backup/svn/directory/$timea$file

    fi

done

#备份目录打包压缩

cd /backup/svn/gzip

tar zcvf svn_$timea.tar.gz /backup/svn/directory/$timea

statime=`date +%Y-%m-%d" "%H:%M:%S`

echo "$statime svn备份完成" >> /backup/svn.log

#删除3天前的备份文件

find /backup/svn/gzip -mtime +2 -type f -name "*.tar.gz" -exec rm {} \;

#删除备份svn目录

rm -rf /backup/svn/directory/$timea

最后设置任务计划执行就可以了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/11/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SVN服务器备份_svn服务器迁移
SVN数据备份、还原、适用情况、部分异常处理等介绍。备份方式主要有hotcopy、dump以及svnsync三种方式。三类备份方式各有优劣,根据自身情况及需求选择即可。
全栈程序员站长
2022/11/11
6.5K0
SVN服务器备份_svn服务器迁移
jenkins配置记录(2)--代码发布流程
在我们的日常运维工作中,使用jenkins来完成业务代码发版上线是至关重要的一环。 前面已经提到在jenkins上添加用户权限的操作,今天重点说下如何在jenkins下构建项目工程进行代码发布? 在此简单介绍下jenkins进行代码发布的流程(根据本人的经历而述)。 1)代码上线要经历四个场景:Dev开发环境-->Test测试环境-->Beta验收环境-->Online线上环境 Dev开发环境:开发人员在开发机上自行开发,开发后将代码上传到svn/git版本控制系统里。 Test测试环境:将代码从svn下载
洗尽了浮华
2018/01/23
2K0
jenkins配置记录(2)--代码发布流程
SVN完全备份svnadmin hotcopy
   利用svnadmin hotcopy可以实现完全备份,但不能进行增量备份。svnadmin hotcopy是将整个库都“热”拷贝一份出来,包括库的钩子脚本、配置文件等;任何时候运行这个脚本都得到一个版本库的安全拷贝,不管是否有其他进程正在使用版本库。
星哥玩云
2022/07/03
1.5K0
SVN完全备份svnadmin hotcopy
Linux系统组建SVN服务器
SVN是一款非常优秀的版本管理工具,与CVS管理工具一样,SVN 是一种跨平台的开源的版本控制系统,它会备份并记录每个文件每一次的修改更新变动
民工哥
2020/09/16
2.5K0
Linux系统组建SVN服务器
SVN备份/恢复脚本
上一篇介绍了svn的配置(见http://www.linuxidc.com/Linux/2015-02/113177.htm),这里就写了两个脚本对svn进行全备和恢复,由于是全备,所以可以做个计划任务,每天执行一次即可。保留几天的数据。
星哥玩云
2022/07/04
7060
CentOS下搭建SVN服务器
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
全栈程序员站长
2022/06/29
1.3K0
CentOS下搭建SVN服务器
svn搭建
至此搭建工作完成,需要注意的是svn默认监听端口3690,我们需要在防火墙里放通,如果使用的是云主机,还需要在控制台安全组处放通该端口。
dogfei
2020/07/31
7910
定时备份脚本分享(网站数据和数据库数据)
备份是我们运维人员最基本的日常工作,做好备份是稳定运维的一个重要环节。下面分享两个使用过的简单备份脚本: 1)网站数据备份 将网站数据/var/www/vhost/www.hqsb.com和/var/www/vhost/www.huanqiu.com分别备份到: /Data/code-backup/www.hqsb.com和/Data/code-backup/www.huanqiu.com下。 [root@huanqiu_web5 code-backup]# cat web_code_backup.sh #
洗尽了浮华
2018/01/23
1.8K0
每天一个linux命令:ls命令
ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls 命令在日常的linux操作中用的很多!
用户7678152
2020/09/21
2.2K0
【Linux】基础指令--(xshell - < ubuntu > )
语法: ls [选项] [目录或文件] 功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 • -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls ‒d 指定目录 • -i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件 • -k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件 • -l 列出文件的详细信息 • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID) • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别) • -r 对目录反向排序 • -t 以时间排序 • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) • -R 列出所有子目录下的文件。(递归) • -1 一行只输出一个文件。 举例:
小志biubiu
2025/02/27
1050
【Linux】基础指令--(xshell - < ubuntu > )
基于Innobackupex的MySQL备份脚本
    Innobackupex是Xtrabackup的一部分,其实质也是调用xtrabackup。主要的不同是Xtrabackup除了支持innodb引擎外还支持xtradb引擎。本文主要封装了Innobackupex到shell脚本进行定期备份,供大家参考。
Leshami
2018/08/13
5960
Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据。 线上数据库备份场景: 每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案详细说明下: 1.MySQLdump增量备份配置 执行增量备份的前提条件是MySQL打开binlog日志功能,在my.cnf中加入 log-bin=/opt/Data/MySQL-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于MySQL数据目录的磁盘上。 ---
洗尽了浮华
2018/01/23
5.1K0
记录Linux系统中使用脚本命令批量备份和还原SVN仓库的代码
这篇文章纯属记录,不做教程使用,毕竟之前写过关于《Linux环境下SVN代码库从旧服务器迁移到新服务器的步骤详解》的文章,喜欢折腾的童鞋可以结合这两篇文章批量备份和还原SVN仓库,为什么这么说呢?因为上次备份之后我就感觉项目站点太多了,十几二十几个每次都一个一个使用命令太慢了,耽误时间,所以这次趁着服务器到期迁移就直接尝试使用批量备份和还原。
李洋博客
2024/03/22
2490
记录Linux系统中使用脚本命令批量备份和还原SVN仓库的代码
SVN全自动备份脚本
本文地址:https://www.zwblog.cn/post/72.html 版权声明:本文为原创文章,版权归 witt 所有,欢迎分享本文,转载请保留出处!
herve
2018/08/10
1.2K0
SVN全自动备份脚本
moosefs的master单节点热备 原
目前还没有弄大清楚mfsmetarestore这里命令参数到底是什么意思,总体的思路是: 1、安装一个mfsmaster 2、利用同样的配置来配置这台mfsmaster(利用备份来找回mfsmaster.cfg),可见配置文件也是需要备份的。 3、找回metadata.mfs.back文件,可以从备份中找,也可以中metalogger主机中找(如果启动了metalogger服务),然后把metadata.mfs.back放入data目录,一般为${prefix}/var/mfs。 4、从在master宕掉之前的任何运行metalogger服务的服务器上拷贝最后metadata文件,然后放入mfsmaster的数据目录。 5、利用mfsmetarestore命令合并元数据changelogs,可以用自动恢复模式mfsmetarestore –a,也可以利用非自动化恢复模式,语法如下: mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs
domain0
2018/08/02
1.1K0
moosefs的master单节点热备
                                                                            原
CentOS 7下搭建配置SVN服务器
subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。
herve
2018/09/20
1.6K0
Linux下svn服务器迁移
1.由于项目工作需要进行svn服务器的迁移,对此简要介绍svn服务器的迁移方案。 2.主要迁移方式:
全栈程序员站长
2022/09/09
15.7K0
Linux下svn服务器迁移
Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录
在日常的linux运维工作中,大数据量备份与还原,始终是个难点。关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex。innobackupex和mysqldump都可以对mysql进行热备份的,mysqldump对mysql的innodb的备份可以使用single-transaction参数来开启一个事务,利用innodb的mvcc来不进行锁表进行热备份,mysqldump备份是逻辑备份,备份出来的文件是sql语句,所以备份和恢复的时候很慢,但
洗尽了浮华
2018/01/23
2.2K0
Ubuntu 14.04 下搭建SVN服务器 svn://
tone@ubuntu:/srv/svn/tone_src$ ls -l 总用量 24 drwxr-xr-x 2 root root 4096  1月 15 10:52 conf drwxr-sr-x 6 root root 4096  1月 15 14:52 db -r--r--r-- 1 root root    2  1月 15 10:50 format drwxr-xr-x 2 root root 4096  1月 15 10:50 hooks drwxr-xr-x 2 root root 4096  1月 15 10:50 locks -rw-r--r-- 1 root root  246  1月 15 10:50 README.txt
星哥玩云
2022/07/04
5.8K0
Ubuntu 14.04 下搭建SVN服务器 svn://
一、Linux下的SVN服务器搭建
3.创建版本库目录,可以再chenjy目录上放置多个项目,不必为每个项目创建一个版本库。下面是我的版本库
全栈程序员站长
2022/09/09
2K0
一、Linux下的SVN服务器搭建
相关推荐
SVN服务器备份_svn服务器迁移
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档