我运行一个进程,该进程输出我想存储在某处的数据,以便另一个进程在某个时刻可以读取该文件。
是否有存储此类文件的传统位置?
- 我可以使用
/var/run
or/run
但这些预计会在重新启动时被清除 - 我希望我的文件在重新启动后保持不变 - 我可以使用
/myowndircetoryforpersistantfiles
并且它会起作用,我很好奇是否有用于此类用途的东西
或许/var/log
? (尽管这并不是真正的日志文件)
答案1
根据数据类型,您可以使用/var/lib
, 或/var/tmp
。来自文件系统层次结构标准 3.0:
-
该层次结构保存与应用程序或系统相关的状态信息。状态信息是程序在运行时修改的数据,并且属于一台特定主机。 [...]
状态信息通常在重新启动后应保持有效,不应是日志输出,也不应是假脱机数据。
一个应用程序(或一组相互关联的应用程序)必须使用 的子目录来
/var/lib
存储其数据。 [...]/var/lib/<name>
是所有分发包装支持必须使用的位置。当然,不同的发行版可能使用不同的名称。 -
该
/var/tmp
目录可供需要在系统重新启动之间保留的临时文件或目录的程序使用。因此,存储在 中的/var/tmp
数据比 中的数据更持久/tmp
。/var/tmp
系统启动时不得删除位于的文件和目录。尽管 中存储的数据/var/tmp
通常以特定于站点的方式删除,但建议删除的频率低于/tmp
.
如果您可以将数据视为包含两个进程的应用程序组的“状态信息”,那么/var/lib/<subdir>
似乎很合适。如果不,/var/tmp/<...>
。