在我们的项目,我们写很多很多的应用程序日志(有时它们是非常有用的)在 tmp 文件夹.

在这个文件夹,我们有件目录,例如:

  • api
  • email2sms
  • scheduled_sending
  • 帐单
  • 等等。少于10个文件夹,在摘要。

问题: 新的构成部分的文件夹出现时-这个文件夹已经被写的。

因此,它需要时间,每一个开发chmod这个文件夹在其当地环境,它需要时间来chmod这些文件夹在生产。

如何这个问题可以解决? 这个过程可以是自动的(Apache蚂蚁的任务,SVN特性、应用程序的脚本中,其中负责的任务)?

环境: 发展的环境-Ubuntu窗;生产FreeBSD

有帮助吗?

解决方案

快速和肮脏的方法,我已经用于大多数的公司我的工作是像这样的东西:

  1. 把所有的代码版本控制系统(如SVN或东西)使所有开发人员有一个单一来源的文件。显然你已经这样做。 万岁!
  2. 放在根源代码,一个文件命名为 setup_permissions.sh 它更新所有地方环境的东西。这可能包括的权限,或无论你需要运行。
  3. 每天早晨,所有的程序员做 svn update, 更新的文件,并且还 setup_permissions.sh.
  4. 他们尝试运行他们的代码。看到一个问题。他们运行 setup_permissions.sh.
  5. 一切都很好的世界!

至于内容 setup_permissions.sh, 它可能是这样的:

#/bin/sh
TMP=/tmp

mkdir $TMP/api
mkdir $TMP/email2sms
mkdir $TMP/scheduled_sending
mkdir $TMP/billing
chmod 777 -r $TMP/api $TMP/email2sms $TMP/scheduled_sending $TMP/billing

并添加任何更多的命令你觉得你需要的。
(哦,不用 chmod 777...这是一个可怕的想法。看到的仅仅是作为一个例子。)

这种方法的关键是 纪律.你必须信任你的程序员有纪律的运行 setup_permissions.sh 当他们更新自己的当地环境。同样的谁更新的生产系统。

你还必须为纪律更新 setup_permissions 与你所做的任何更改目录的结构,任何权限的改变,它需要,而不是只是在做的改变手工计算机上,并留在那里。(并且这同样适用于所有其他开发人员更改目录结构。)

其他提示

该人(节目/组件)谁造成的日志应负责任的使登录文件写到每个人使用mod=777(每个人都可写的)当记录。

如果部署过程中有一个安装脚本,还做,在脚本。

mkdir和chmod在一个简单壳脚本应该是足够的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top