IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> svn库迁移脚本 -> 正文阅读

[PHP知识库]svn库迁移脚本

使用环境: linux, 需配置 php运行命令, 打开PHP 禁用的 exec 函数.

svn库导出打包:?

在svn库根目录下新建个 svndump.php文件, 文件内容如下, 然后目录下执行 php svndump.php, 等待打包完成.

<?php
function doCmd($cmd){
    echo $cmd . "\n";
    exec($cmd);
    echo "\n";
}

$filenames = scandir(dirname(__FILE__));
$folders = [];
foreach ($filenames as $k => $v) {
    if (is_dir($v) && strpos($v, '.') === false) {
        //导出库
        doCmd('svnadmin dump ' . $v . ' > ' . $v . '.dump');

        //导出uuid
        doCmd('cp ' . $v . '/db/uuid '. $v .'.uuid');
    }
}

//压缩文件
doCmd('tar -zcvf svndump.tar.gz *.dump *.uuid');

//删除文件
doCmd('rm -rf *.dump *.uuid');

svn库导入:

把上面SVN库导出的压缩包文件svndump.tar.gz,? 复制到新的 SVN库根目录;

在SVN库根目录新建个svnload.php, 文件内容如下, 然后在目录下执行 php svnload.php , 等待解压部署导入SVN库完成.

<?php
function doCmd($cmd) {
    echo $cmd . "\n";
    exec($cmd);
    echo "\n";
}

//解压文件包
doCmd('tar -zxvf svndump.tar.gz');

$filenames = scandir(dirname(__FILE__));
$folders = [];
foreach ($filenames as $k => $v) {
    if (strpos($v, '.dump') !== false) {
        $v = str_replace('.dump', '', $v);

        //新建svn库
        doCmd('svnadmin create ' . $v);

        //导入svn库
        doCmd('svnadmin load ' . $v . ' < ' . $v . '.dump');

        //导入uuid
        doCmd('rm -rf ' . $v . '/db/uuid');
        doCmd('cp ' . $v . '.uuid ' . $v . '/db/uuid');

        //覆盖svnserve.conf
        doCmd('rm -rf ' . $v . '/conf/svnserve.conf');
        doCmd('cp svnserve.conf ' . $v . '/conf/');
    }
}

//删除文件
doCmd('rm -rf *.dump *.uuid');

注: 仅适合于版本量少的库进行备份迁移!

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-05 20:17:07  更:2021-07-05 20:18:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:36:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码