我应该在文件系统中的哪个位置存储共享数据?

mis*_*ben 46 filesystem

unix 文件系统中的哪个位置是保存非用户特定数据的常规位置,例如通过 nfs 或 ftp 共享的数据或备份?

我显然可以创建和使用任意文件夹(例如 /home/shared、/data 或 /var/data),但我真的想知道是否有任何“最佳”或“通用”实践指南。该文件系统层次标准未指定共享数据的位置。

对于备份,我倾向于使用 /var/backups,但是当几个 cronjobs 写入它时,它真的应该留给他们使用吗?

Ste*_*zzo 31

这个问题确实似乎有在一个明确的答复文件系统层次标准,它规定/srv“包括将由该系统提供[和]站点特定的数据”。(3.16.1)

指定此项的主要目的是让用户可以找到特定服务数据文件的位置,以及需要单个树的只读数据、可写数据和脚本的服务

(我的重点)

注意:“由系统提供服务”不一定指互联网。它甚至不必意味着网络。它甚至适用于共享系统。此外,站点服务这两个词应该按照它们在互联网出现之前的含义来理解。您的站点可以是“物理系”或“财务办公室”。

它接着说:

在大型系统上,通过管理上下文来构建 /srv 会很有用,例如 /srv/physics/www、/srv/compsci/cvs 等。此设置将因主机而异。因此,任何程序都不应依赖 /srv 现有的特定子目录结构或必须存储在 /srv 中的数据。但是,/srv 应始终存在于 FHS 兼容系统上,并应用作此类数据的默认位置。

因此,应进一步结构的目录,例如您的数据/srv/nfs/srv/backup等等。

我还应该提到,很少有人再这样做了。但没有充分的理由为什么他们不这样做。该标准绝不是过时的。

/var传统上用于打印假脱机和日志文件之类的东西,但它也被 Apache 网络服务器使用(无论如何在 Debian 系统上 - SUSE 使用 /srv);/var对于共享数据是否是合适的目录,似乎没有达成共识。但是,如果您决定改用它,我敢肯定您不会后悔。

另请注意:Karthick 的回答绝不是错误的。FHS 说 /srv “应该用作此类数据的默认位置”,但标准为您自己的偏好留出了一些空间,这取决于您如何解释这些术语。

  • 请注意,在 `/srv/` 成为 FHS 的一部分之前,Debian(和 Red Hat)开始将 Apache 的文件放在 `/var/www` 中。 (4认同)

kar*_*k87 15

  • 非用户特定的数据可以存储在/usr/local/var 中,这样它就不会再次出现在 newtwork 共享中。
  • 任何不在 ../local/.. 下的内容都允许最终出现在 nfs 共享上,因此如果您想从 nfs 共享下载数据,请确保它们本地存储在机器硬盘上。
  • 然后你应该选择一个带有 .../local/.. 的路径......其余的取决于数据的性质,取决于它的类型。它可能是 /local/var 或 /local/tmp 等.

文件系统层次结构:
替代文字

也看看这个


bin*_*inW 5

我不认为 FHS 为共享用户数据定义了任何地方。用户想要将共享数据存储在何处取决于用户。我通常使用/usr/local/shared/home/shared