在我们的 unix webhost 上,我创建了一组脚本来自动化网站部署过程。由于我是唯一的用户,因此我让脚本通过更改我的主目录中的点文件中的值来跟踪部署的哪个阶段:~/.deploy
。
现在我们已经引入了另一位开发人员,因此我将我们的脚本移动到,/usr/local/bin
以便其他开发人员(以及其他任何人)都可以访问运行它们。
但是,我希望部署过程只有一种全局状态,因此我不希望该.deploy
文件位于运行脚本的用户的主目录中。
这样的文件在全球的存放位置是什么?因此,如果一个开发人员开始部署但没有完成它,下一个运行脚本的用户将读取部署的当前状态,如 中跟踪的那样.deploy
。
是/tmp
合适的地方吗?所有用户都可以访问写入其中的文件吗?它会一直留在那里直到被主动删除吗?
答案1
您可以将文件与脚本一起保留/usr/local/var
。然而对并发性要非常小心。 (我不会这样做)
为了保持文件可访问,我会为该工具创建一个新组。
addgroup deployer
mkdir /usr/local/var/deployer
chgrp deployer /usr/local/var/deployer /usr/local/bin/deploy
chmod g+x /usr/local/bin/deploy