【问题标题】:Creating subversion shell script on Centos在 Centos 上创建 subversion shell 脚本
【发布时间】:2013-09-06 10:22:43
【问题描述】:

我在 CentOs 6.4 上安装了 subversion,并想编写一个脚本(根据我的理解是一个 shell 脚本)来运行几个命令。我在这里的问题不是编写 shell 脚本,而是更多地为 shell 脚本提供一个参数(在某种程度上是一个函数)以便能够完成请求。

本质上我想做以下事情:

  1. 使用来自 SSH 的参数运行脚本(“somscript reponame”)
  2. 创建仓库:svnadmin create /var/www/svn/reponame
  3. 更改 repo 所有者: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 访问权限)。

提前谢谢你!

【问题讨论】:

  • 带有参数($1, $2..)的 bash 脚本有什么问题?

标签: php shell svn centos6


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 2017-10-18
    • 2015-05-15
    • 2014-10-28
    • 1970-01-01
    • 2018-05-19
    相关资源
    最近更新 更多