gitlab备份到SVN之变更备份服务器

gitlab上代码,先下载下来后又上传到SVN,因原备份机器和gitlab服务器是用一个机器,导致这个服务器内存越来越大,为了防止以后爆了,新建了一个服务器,想将后续的备份迁移过去,特此做个记录,看看会不会出现什么问题,记录一下解决办法,以防哪天忘记了。

登录了新的机器,本想在跟原先服务器相同的位置将SVN上备份代码拷贝下来,但是发现,新的服务器没有安装SVN,头大。

配置yum源

首先让IT开了外网权限后,配置yum源

一、进入/etc/yum.repos.d 查看目录下文件,进行备份,将所有文件备份到新建目录repo_bak下

复制代码
cd /etc/yum.repos.d
ll
mkdir repo_bak
mv *.repo repo_bak/
ll

二、下载阿里的CentOS-Base.repo 到/etc/yum.repos.d/

复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

三、运行yum clean all 清除缓存,运行 yum makecache 生成新的缓存

复制代码
yum clean all
yum makecache

不知道为啥那么多FAILD,看不懂。换个方式下载,再清理和生成缓存试试。

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

检查仓库是否启用,现存可用仓库列表

复制代码
yum repolist enabled
yum repolist all

四、下载测试

安装git和SVN

复制代码
yum install git

下载原服务器内容

安装git和SVN后,下载原SVN服务器上内容:

创建了和原备份服务器相同的文件结构,但是原服务器已经设置过了自动备份,我担心同一个目录容易出问题,遂决定换一个新的环境,重新配置一遍全流程,这样后续新增项目就在新的服务器。线下表格里记录好位置,应该省事些。

/code/svn/Atlas-code/代码-新库

复制代码
#!/bin/bash

ProjectAddress=172.16.67.163:8083/REAL3D/ZhangZhouProject/ZhangZhouAncientCityWebUI.git

ProjectName=ZhangZhouAncientCityWebUI



cd /code/git

git clone http://root:Geoway123@$ProjectAddress

cp -a /code/git/$ProjectName/.  /code/svn/Atlas-code/代码-新库/REAL3D/ZhangZhouProject/$ProjectName


cd /code/svn/Atlas-code/代码-新库

sudo svn cleanup

svn add *
sudo svn cleanup
sudo svn commit -m 'update' --username gitlab --password gitlab --no-auth-cache

创建每日自动同步脚本

记录一个快捷键,vim中,G可以直接定位到文件的最后一行,跳转到文件的第一行.

复制代码
#!/bin/bash

cd /code/git/ZhangZhouAncientCityWebUI
git pull
cp -a /code/git/ZhangZhouAncientCityWebUI/. /code/svn/Atlas-code/代码-新库/REAL3D/ZhangZhouProject/ZhangZhouAncientCityWebUI


cd  /code/svn/Atlas-code/代码-新库


svn update --username gitlab --password gitlab --no-auth-cache
sudo svn cleanup
sudo svn commit -m 'update every code' --username gitlab --password gitlab --no-auth-cache

svn status

sudo svn add $(svn status)

sudo svn commit -m 'update every code' --username gitlab --password gitlab --no-auth-cache

chmod +x backupcodeeveryday-newku.sh

使用crontab将自动同步,加入到服务器定时计划中。 使用crontab,我得翻翻以前的记录
crontab定时执行命令

明天检查下是否自动备份。

相关推荐
不像程序员的程序媛4 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
耍酷的魔镜8 小时前
谈谈如何使用Netty开发实现高性能的RPC服务器
服务器·网络协议·rpc
程序员在囧途9 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
cookies_s_s9 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
想你依然心痛10 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
程序员在囧途10 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
WZF-Sang11 小时前
网络基础——2
服务器·网络·c++·学习·网络编程·php
wang_shu_mo_ran12 小时前
网络编程(一):网络编程初识
运维·服务器·网络
ton_tom13 小时前
设备驱动程序编程-Linux2.6.10-kdb安装-32位
linux·运维·服务器
坐望云起14 小时前
FFmpeg.wasm 纯浏览器端视频压缩与格式转换实战:零服务器、零上传、100% 隐私
服务器·ffmpeg·wasm