在Centos上创建subversion shell脚本

时间:2013-09-03 08:54:08

标签: php shell svn centos6

我在CentOs 6.4上安装了subversion,并希望编写一个脚本(从我理解的shell脚本)来运行一些命令。我的问题不是编写shell脚本,而是更多地为shell脚本提供参数(所以在某种程度上是一个函数)才能完成请求。

本质上我想做以下事情:

  1. 使用SSH参数运行脚本(“somscript reponame”)
  2. 创建回购:svnadmin create / var / www / svn / reponame
  3. 更改仓库所有者:chown -R apache.apache / var / www / svn / reponame -R
  4. 安全性更改:chcon -R -t httpd_sys_content_t / var / www / svn / reponame /
  5. 和chcon -R -t httpd_sys_rw_content_r / var / www / svn / reponame
  6. 创建默认目录:svn import -m'初始导入'/ tmp / svn-structure-template / http://domain.com/svn/reponame/(stackoverflow不接受localhost)
  7. 任何人都可以提供一些指导或者提供我可以使用的替代方案吗? PHP脚本是否有效(因此要从浏览器运行它并使用某种类型的查询字符串,这不会导致一些安全问题,因为apache是​​默认所有者,其中一些可能需要root / sudo访问权限。)

    提前谢谢!

1 个答案:

答案 0 :(得分:0)

正如Fausto在评论中所说,标准Bash参数应该可以正常工作。在ProjectLocker,我们使用类似于您所描述的脚本来配置新的Subversion存储库,您应该只能在脚本中引用“$ 1”,“$ 2”等。

顺便提一下,如果您在具有该实例的计算机上运行,​​则不必导入到http://位置,如果这会使事情变得更难。你可以这样做:

 svn import -m 'Initial import' /tmp/svn-structure-template/ file:///var/www/svn/reponame

虽然我建议先测试一下,以确保不会导致意外的权限更改。如果是这样,您可以在apache权限翻转和锁定之前运行它。