将持久数据存储到 /var/app_name/ 中是否安全

Kir*_*rov 3 filesystems

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

在阅读了更多关于 Linux 文件系统的内容后,我考虑使用/var/app_name/,但后来我发现,一些子目录是临时的(在重新启动时不是持久的,例如run, log, tmp)。

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

dr_*_*dr_ 6

文件系统层次结构标准

应用程序通常不得将目录添加到 /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的 homedir 的。如果你的程序需要创建一个特定的用户来运行,那就是它的位置。

关于您在评论中的问题:Linux 不会自动删除您放入/var/log/. 事实上,系统管理员经常会遇到相反的问题,即日志填满所有空间……所以由您来删除或轮换日志文件;这是通过logrotate或自定义 cron 作业完成的。