1

我在 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 'Initial import' /tmp/svn-structure-template/ http://domain.com/svn/reponame/(stackoverflow 不接受 localhost)

任何人都可以提供一些指导或提供我可以使用的替代方案吗?PHP脚本是否可以工作(因此从浏览器运行它并使用某种查询字符串,这不会导致一些安全问题,因为apache是​​默认所有者,其中一些可能需要root / sudo访问)。

先感谢您!

4

1 回答 1

0

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

顺便说一句,如果您在带有实例的机器上运行,则不必导入到 http:// 位置,如果这会使事情变得更加困难。你可以做:

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

尽管我建议先对其进行测试,以确保不会导致不需要的权限更改。如果是这样,您可以在 apache 权限翻转和锁定之前简单地运行它。

于 2013-09-06T18:14:47.693 回答