在我们的项目中,我们在 tmp
文件夹中编写了大量应用程序日志(有时它们非常有用)。
在此文件夹中,我们有组件的目录,例如:
问题: 新组件的文件夹随着时间而出现 - 每个文件夹都必须是可写的。
因此,每个开发人员在本地环境中对每个文件夹进行chmod需要时间,在生产中chmod这些文件夹需要时间。
如何解决此问题? 如何自动化这个过程(Apache Ant任务,SVN属性,应用程序的脚本 - 必须负责该任务)?
环境: 开发环境 - Ubuntu,Windows;制作 - FreeBSD
答案 0 :(得分:3)
我在大多数公司工作过的快速而肮脏的方法是这样的:
setup_permissions.sh
的文件,用于更新所有本地环境内容。这可以包括权限,或者您需要运行的任何内容。svn update
更新文件,setup_permissions.sh
。setup_permissions.sh
。至于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
的规则,包括对目录结构所做的任何更改,以及所需的任何权限更改,而不是仅仅在您的计算机上手动执行更改,并将其保留在该计算机上。 (对于对目录结构进行更改的所有其他开发人员也是如此。)
答案 1 :(得分:1)
创建日志的人(程序/组件)应负责使日志文件可写入每个人 - 在创建日志时使用mod = 777(每个人都可写)。
如果您部署进程有一个安装脚本,也可以在脚本中执行此操作。
答案 2 :(得分:0)