zoukankan      html  css  js  c++  java
  • Linux下tmp文件夹的文件自动删除的问题(转)

    场景:

    近日发现有一台机器tmp文件夹下放置的文件无辜丢失,而且排查发现是自动丢失,并且,只是删除10天之前的文件。

    本来以为是哪位写了一个自动执行脚本, find了一下10天前的文件删除了。

    结果,排查所有用户的crontab计划,没有任何用户执行了自动脚本。

    监测了一下服务器登录情况,在删除文件期间也没有任何人登录。

    解释:

    最终,通过不懈的百度,终于找到正解。

    从/var/log/cron日志中发现,服务器除了调用用户的计划任务外,还会执行系统自己的,比如:

    /etc/cron.hourly

    /etc/cron.daily

    进入/etc/cron.daily

    可以看到一个tmpwatch

    cat  tmpwatch
    #output
    flags=-umc
    /usr/sbin/tmpwatch “$flags” -x /tmp/.X11-unix -x /tmp/.XIM-unix 
    -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix 240 /tmp
    /usr/sbin/tmpwatch “$flags” 720 /var/tmp
    for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
    /usr/sbin/tmpwatch “$flags” -f 720 “$d”
    fi
    done

    可以看到调用了一个叫tmpwatch的脚本,并且,我们可以看到传入参数中对我们有意义的有/tmp  240

    然后我们man tmpwatch

    SYNOPSIS
    
    tmpwatch [-u|-m|-c] [-MUadfqstvx] [--verbose] [--force] [--all]
    
    [--nodirs] [--nosymlinks] [--test] [--fuser] [--quiet]
    
    [--atime|--mtime|--ctime] [--dirmtime] [--exclude <path>]
    
    [--exclude-user <user>] <hours> <dirs>

    有一个 hours

    240 = 10*24正好是10天

    具体原因是tmp是一个特殊的文件夹,系统会自动清理,所以大家最好不要把文件放到这个地方,被清理了就不好了。

    实例:

    1、重启电脑时自动清除/tmp文件夹下的内容,设置不删除。

    /tmp目录文件重启后自动删除现在知道有Ubuntu和Solaris系统。

    经常会把临时性的log或抓包等文件放在/tmp目录下,重启后发现文件都丢失了。查下资料发现,可以通过设置解决这个问题。

    在/etc/default/目录下有个rcS文件,文件内容如下:

    #
    # /etc/default/rcS
    #
    # Default settings for the scripts in /etc/rcS.d/
    #
    # For information about these variables see the rcS(5) manual page.
    #
    # This file belongs to the "initscripts" package.
    
    
    TMPTIME=0
    SULOGIN=no
    DELAYLOGIN=no
    UTC=yes
    VERBOSE=no
    FSCKFIX=no
    RAMRUN=no
    RAMLOCK=no

    红色字体TMPTIME=0。值为0表示重启后删除文件,值为-1就不会自动删除文件,值为正整数表示/tmp目录下文件保留时间。

    疑问:

    1、然后发现tmpwatch在Ubuntu 16.04上是没有的!然后经过查找发现以上说的实例1针对的是Ubuntu,而解释是针对CentOS。

    2、而启动时会清除/tmp文件夹是针对Ubuntu,而其它Linux发行版不一定会清除。

    3、Ubuntu想要使用tmpwatch需要额外的安装。

    参考:

    http://www.tuicool.com/articles/6Jj6rq(以上内容部分转自此篇文章)

    http://blog.chinaunix.net/uid-26212859-id-3567875.html(以上内容部分转自此篇文章)

    https://www.chrisyue.com/linux-server-tmp-dir-auto-clean.html

    https://askubuntu.com/questions/717661/package-for-tmpwatch(针对Ubuntu的安装包)

  • 相关阅读:
    K3Cloud 解决方案版本号问题
    K3Cloud 通过元数据查询单据信息
    K3Cloud 设置分录的字段颜色
    K3Cloud 干预标准产品插件
    K3Cloud 根据单据ID 获取单据视图和数据包
    K3Cloud 后台修改账户密码策略
    K3Cloud 选择基础资料允许显示未审核数据
    K3Cloud 根据内码和基础资料元数据获取基础资料数据包
    按照应用场景划分安全测试
    常见业务场景的安全测试及安全开发
  • 原文地址:https://www.cnblogs.com/EasonJim/p/7484972.html
Copyright © 2011-2022 走看看