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 “应该用作此类数据的默认位置”,但标准为您自己的偏好留出了一些空间,这取决于您如何解释这些术语。