Linux 中(比如 CentOS),/var/run 指向 /run 目录,一般是 tmpfs 内存挂载点,操作系统重启,这个目录下所有文件/目录会被删除。(貌似 CentOS 7 下 /var/run 目录下的目录,系统重启不会丢失)
备用节点参考:大哥云、魔戒、飞机云、搬瓦工JMS、极客云……
如果程序需要将临时数据放到这个目录下,该怎么解决?总不能每次重启收工创建目录吧?
比如 nginx fastcgi cache,缓存目录:/var/run/nginx-cache,CentOS 7 下直接 mkdir -p /var/run/nginx-cache 就完事了。
但是 Debian 和 CentOS 8 还启动时自动重新创建才行,否则要手工。
怎么自动创建?
Linux 启动时会检查 /etc/tmpfiles.d 、/run/tmpfiles.d 或 /usr/lib/tmpfiles.d 下配置文件,自动创建响应的目录或文件。我们可以利用这个机制,将需要创建的目录或文件写到 tmpfiles.d/ 中:
创建自定义配置文件,如:nginx-cache.conf
vi /usr/lib/tmpfiles.d/nginx-cache.conf
编辑内容并保存:
d /var/run/nginx-cache 0755 www www
# 类型 路径 权限 所有者 组
# d 代表目录, f 代表文件, L 代表链接
这样,系统启动时会自动创建 /var/run/nginx-cache 目录,权限 drwxr-xr-x,用户/组是 www
解压密码 1024 | 任何服务均有跑路风险,请注意防范!
备用节点:大哥云、魔戒、飞机云、搬瓦工JMS、极客云、扬帆云……
嗨,这是一条评论。
要开始审核、编辑及删除评论,请访问仪表盘的 “评论” 页面。
评论者头像来自 Gravatar 。