在Linux中, /var/run指向的是/run目录, 这是一个运行时目录. 如果操作系统重启的话, 这个目录底下的文件会被删除.

那么如果程序需要将临时数据放到这个目录底下, 该怎么办?

一个办法就是, 每次启动程序时, 自己在/var/run下创建目录(这也符合存放运行时数据的初衷); 如果偷懒, 不想这么做. 也可以在操作系统启动时, 自动创建目录.

Linux启动时会检查 /etc/tmpfiles.d、/run/tmpfiles.d或/usr/lib/tmpfiles.d下的配置, 自动创建响应的目录或文件.我们可以利用这个机制, 将需要创建的目录或文件写到 tmpfiles.d/中. 最后一种比较常用.

1. 创建自定义custom.conf

vim /usr/lib/tmpfiles.d/custom.conf

2. 编辑内容并保存

d /var/run/redis 0755 root root
# 类型 路径 权限 所有者 组
# d代表目录, f代表文件, L代表链接

这样, 系统启动时, 会自动创建/var/run/redis目录, 权限是drwxr-xr-x, 用户是root

发表评论

邮箱地址不会被公开。 必填项已用*标注