我有一个标准的gitosis设置,我想用rsync备份。当我尝试:
rsync -avz git@192.168.0.2:/home/git git_origin/
或
rsync -avz --rsync-path 'sudo rsync' 192.168.0.2:/home/git git_origin/
它不会处理任何存储库文件。很确定它与'git'用户没有密码以及/ home / git / repositories目录结构中所有文件的完全所有权有关。由于你不能'ssh git'或'su git',我无法达到正确的权限级别。
那么,我如何使用rsync来备份我的所有gitosis存储库?
答案 0 :(得分:1)
最简单的方法是将自定义密钥添加到git用户的authorized_keys
文件中。
在### autogenerated by gitosis, DO NOT EDIT
下的/home/git/.ssh/authorized_keys
作为root用户的行上方添加一个条目(在大多数Linux系统上),你应该很高兴。 Gitosis默认在重新生成时忽略authorized_keys
文件的自定义条目。
如果你想更多地锁定服务器,你可以随时在密钥输入之前添加一个自定义command=
指令,谷歌搜索“rsync ssh lock down”会给你http://sixohthree.com/1458/locking-down-rsync-using-ssh作为第一个命中,应该让你开始。
通过rsync抓取文件而不跳过一些随机用户切换箍(如在user-> root-> git开关中)的唯一另一种方法是使用ssh以root用户身份连接并获取文件用它。
通过提供自定义authorized_keys
条目,以root用户身份运行和作为git用户进行ssh'ing,都应该为您提供访问要进行rsync的文件所需的权限。
答案 1 :(得分:0)
答案 2 :(得分:0)