Tomcat临时目录被清理

葛大爷 互联网 2023-06-02 913
  • linux临时目录定期清理

    Springboot启动时会创建一个/tmp/tomcat.*/work/Tomcat/localhost/ROOT的临时目录作为文件上传的临时目录,但是该目录会在n天之后被系统自动清理掉,这个清理是由linux操作系统完成的,具体的配置如下

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

    # This file is part of systemd.
    #
    # systemd is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2.1 of the License, or
    # (at your option) any later version.

    # See tmpfiles.d(5) for details

    # Clear tmp directories separately, to make them easier to override
    v /tmp 1777 root root 10d
    v /var/tmp 1777 root root 30d

    # Exclude namespace mountpoints created with PrivateTmp=yes
    x /tmp/systemd-private-%b-*
    X /tmp/systemd-private-%b-*/tmp
    x /var/tmp/systemd-private-%b-*
    X /var/tmp/systemd-private-%b-*/tmp

  • 解决方案
    1. 重启服务(临时目录会自动生成,线上不推荐)
    2. 启动时增加参数-Djava.io.tmpdir=自定义目录
    3. 项目配置tomcat目录

      server:
        tomcat:
          basedir: /data/tomcat/tmp

    4. 配置linux临时目录不被删除(推荐)

      #修改删除配置文件
      vim /usr/lib/tmpfiles.d/tmp.conf

      #添加一行
      x /tmp/tomcat.*