Shell-Script
多使用者腳本臨時文件的位置
在我們的 unix webhost 上,我創建了一組腳本用於自動化網站部署過程。由於我是唯一的使用者,因此我的腳本通過更改我的主目錄中的點文件中的值來跟踪它所處的部署階段:
~/.deploy
.現在我們帶來了另一位開發人員,所以我將我們的腳本移到
/usr/local/bin
了其他開發人員(和其他任何人)可以執行它們的權限。但是,我希望部署過程有一個全域狀態——所以我不希望
.deploy
文件存在於執行腳本的使用者的主目錄中。這樣一個文件的全球存放地是什麼?因此,在一個開發人員開始部署但未完成部署的情況下,下一個執行腳本的使用者會讀取部署的目前狀態,如
.deploy
.是
/tmp
合適的地方嗎?所有使用者都可以訪問那裡寫入的文件嗎?它會一直留在那裡直到被主動刪除?
您可以將文件與腳本一起保存
/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