2 miller01234 miller01234 于 2016.04.24 18:14 提问

git通过hook进行同步备份

实现思路:进入备份库目录下 执行 git fetch --all
需求:
服务端创建2个git仓库,客户端push代码到 正式库 后,通过hooks同步到 备份库(git clone --mirror root@localhost :$SCM_REPO_PATH/ $SCM_REPO_NAME 创建备份库)
场景:
root用户配置免登录,clone通过root ssh方式;
直接执行hooks脚本post-update 或 post-receive(1.cd到备份库下;2.通过exp脚本 su切换为root用户 3.执行git fetch --all),可正常运行;
问题:但是 提交版本库,运行hooks脚本(确认脚本运行了) ,无报错,命令行提示:
remote: spawn su root
remote: [root@localhost smartofficeportal.git]# To root@localhost:/waferdata/git_repository/smartofficeportal.git
d227bce..e4ca219 master -> master
直接运行脚本正常显示:
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.
From localhost:/waferdata/git_repository/smartofficeportal
eb5a890..35092a5 master -> master
求大神看看,或者可用提供其他的 hooks同步思路

1个回答

CSDNXIAOD
CSDNXIAOD   2016.04.25 13:16

mysql数据库远程同步及备份
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用Git For Windows进行本地文件同步
Git使用记录 安装Git 创建Repository和SSH key 1 创建Repository 2 创建SSH key 利用Git进行文件同步 1 进行本地git文件的创建 2 将本地的git文件同步到服务器上 参考资料Git使用记录1. 安装Git  电脑系统是win10.因此下载的是Git for windows。安装过程都是采用默认的参数,一路下一步。2. 创建Repository和SSH
git之-git钩子搭建,同步提交到指定目录
通常我们提交网站代码,需要同步代码到站点根目录,这时git的钩子就派上用场了,其实简单理解就是一有推送就触发脚本的git实现 仓库路径为/home/git/testgit 1、首先进入testgit仓库下的hook文件夹   cd /home/git/testgit/sample.git cd hooks 2、编辑post-receive文件     #!/bin/bash ...
Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
一、背景在我之前的博客 git学习——> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/77070977) 里面已经写清楚了如何使用Gitlab自动备份功能。 但是之前的备份功能只是备份到Gitlab服务运行的那台服务器上,如果哪一天那台服务器的磁盘损坏了的话,数据无法取出,那么对于公司来说是一匹无
VPS配置Git Hooks实现hexo博客更新
客户端使用Hexo生成静态文件,通过Git推送到VPS的Git仓库。VPS配置Git Hooks,将静态文件同步到站点目录,实现hexo博客更新。
搭建git服务器及利用git hook自动布署代码
我喜欢 github,我现在的个人代码全部是托管在上面了,但是一些公司或者某些项目不适合放入github中,你希望能有一个完全私有的仓库,如果你有一台服务器,这显然是很容易办到的事。 下面简单的描述我在某个项目中布署的一个git服务,并且本地提交更新后,服务器将自动更新代码到在线代码的仓库。 创建用户并使客户机可通过密钥登录服务器 服务器中操作: root 用户ss
服务器自动部署项目之GitHooks神器
背景描述在刚开始用git的时候,每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦。
通过ssh同步git数据
总体来说分为两个步骤 1、在本地生成公钥(**.pub)和秘钥(默认为id_rsa) 2、将公钥保存在git服务器空间或者bitbucket 3、测试 下面就来step by step吧 1、生成公钥 a、首先查看一下当前是否存在公钥或私钥 ll ~/.ssh  如果提示No such file or directory,那么证明当前没有私钥,为了介绍方便,如果存在的话,请
git/svn钩子自动同步web目录
已有git或svn环境 初始化web项目 svn: 检出项目到web目录: svn co svn://localhost/trunk /www/app --username "svn用户名" --password "svn密码" git 设置web目录用户组: chown -R git:git /www/app 编写钩子 svn: #!/bin/sh...
gitlab的自动备份经历
前提 gitlab手动备份 gitlab自动备份 crontab find和rm 双备份机制 代码前提之前休假的时候,公司里搭建的gitlab服务器莫名宕机,为此还被召唤回公司。到公司以后鼓捣了一下,发现是硬盘损坏,这下没辙了只能放弃。 休假完以后到公司重新更换硬盘、重装系统、安装gitlab,让大家重新申请账号、提交版本库。整个过程耗时耗力,回头想想当时要是要是做了双硬盘备份,也就不会有这么麻烦
服务器上搭建git仓库与钩子hook的配置
目录服务器上搭建git仓库与钩子hook的配置目录 服务器上搭建git仓库与钩子hook的配置 服务器上的git目录下文件配置 钩子hook web目录下文件配置 本地clone远程项目服务器上的git目录下文件配置 本服务器是基于阿里云上的服务器,服务器上的web服务在/wwwroot/www目录下 ssh root/用户名@服务器地址,进入服务器 cd /home/git/ #进入git目录