首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将持久数据存储到/var/app_name/安全吗?

将持久数据存储到/var/app_name/安全吗?
EN

Unix & Linux用户
提问于 2017-05-02 13:24:04
回答 2查看 3K关注 0票数 3

我想要创建一个系统范围的目录,其中包含特定于应用程序的(读-写)数据(比如日志文件、配置和其他应用程序特定的元数据)。

在阅读了更多关于Linux文件系统的内容之后,我考虑了使用/var/app_name/,但是后来我发现,有些子目录是临时的(在重启过程中不是持久的,比如runlogtmp)。

这有多重要?我的意思是,我应该使用另一个目录(如/home/app_name/)还是使用/var/app_name/是可以的?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2017-05-02 14:15:45

来自文件系统层次标准

应用程序一般不能将目录添加到/var的顶层。这样的目录应该添加,只有当他们有一些系统范围的含义,并咨询FHS邮件列表。

您应该使用/etc/app_name/来为您的程序存储配置文件和其他内容,使用/var/log/app_name/来存储其日志文件。

对于应用程序使用的数据,可以存储:

  • /var/lib/app_name/中,持久性数据和元数据
  • /var/cache/app_name/中,任何可以安全删除的应用程序缓存
  • /var/spool/app_name/中等待处理的数据

绝对不要使用/home/app_name/,它是为用户app_name的主页保留的。如果您的程序需要创建一个特定的用户来运行,这将是它的位置。

关于您在评论中的问题: Linux不删除,也不对您在/var/log/中放置的任何内容自动旋转日志。事实上,系统管理员通常会遇到相反的问题:日志填满了所有的空间.因此,删除或旋转日志文件是由您自己决定的;这是通过logrotate或自定义cron作业完成的。

票数 6
EN

Unix & Linux用户

发布于 2017-05-02 13:37:00

使用/var/app_name为名为app_name的应用程序存储持久数据应该是安全的。

例如,在我目前使用的系统上,PostgreSQL和MySQL (MariaDB)的默认数据库目录是/var/postgresql/var/mysql

/var/tmp只应用于临时文件,但系统不太可能清除该目录(例如,在重新启动时,与/tmp不同)。/var/run最常用于存储PID文件和命名套接字。

我将避免使用/home/app_name,因为/home最常与个人帐户目录相关联。

另见:https://en.wikipedia.org/wiki/Filesystem_层次结构_标准

应用程序可以选择将其配置文件存储在/etc中,将其日志文件存储在/var/log下,将数据存储在/var/app_name中。在我上面用作示例的PostgreSQL和MariaDB的例子中,它们将除系统启动钩子以外的所有东西存储在/var中。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/362614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档