场景:

近日发现有一台机器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

SYNOPSIStmpwatch [-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的安装包)

转载于:https://www.cnblogs.com/EasonJim/p/7484972.html

Linux下tmp文件夹的文件自动删除的问题(转)相关推荐

  1. linux 删除tmp文件夹,Linux下tmp文件夹的文件自动删除的问题(转)

    场景: 近日发现有一台机器tmp文件夹下放置的文件无辜丢失,而且排查发现是自动丢失,并且,只是删除10天之前的文件. 本来以为是哪位写了一个自动执行脚本, find了一下10天前的文件删除了. 结果, ...

  2. linux下tmp目录属性,Linux:文件夹属性及umask

    回顾: 文件在小,也要占用一个Block 如:echo > a1.log ls a1.log(文件大小为1k) du a1.log(文件大小也应该为1k,如果不是1k,可能selinux是打开的 ...

  3. linux中read函数读取文件夹内文件,linux下read函数

    read函数是Linux下不带缓存的文件I/O操作函数之一,所谓的不带缓存是指一个函数只调用系统中的一个函数.另外还有open.write.lseek.close,它们虽然不是ANSI C的组成部分, ...

  4. ubuntu系统tmp文件夹内文件重启自动删除与恢复

    ubuntu系统下tmp文件夹下文件一般默认重启自动删除 当然你可以更改这些设置 像我刚开始不知道,东西放里面,重启不见了...很抓狂... 当然如果不小心很重要东西放里面重启消失了怎么恢复呢? 这里 ...

  5. linux 获取文件夹下文件信息,linux下获取文件夹下子文件列表

    linux下获取文件夹下子文件列表 预置条件: 1.只遍历当前目前,不遍历当前目录的子文件夹 2.根据用户提供的开始时间戳以及持续时间,返回在这个时间区间内被修改过的文件列表. 相关知识: 1.str ...

  6. 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小

    不知道大家有没有遇到过这种情况,就是经常会出现linux文件磁盘空间不足导致的网站打不开,面板登录不上的情况,小魏今天就遇到了,空间占用爆满,小魏进行清理占用最大文件,网站恢复,那么这个时候我们就会想 ...

  7. linux: 批量修改文件夹及文件夹下文件的名字

    假如我有一个文件夹,文件夹下面有一些文件,如下所示: Gideon/gideon_lisha/Gideon_samuel/Gideon_nathan.xml Gideon/lisha_gideon/G ...

  8. linux批量更新文件夹里,Linux下使用touch批量修改文件夹和文件的时间

    发布时间:2015-07-26 22:51:41 下面只有两个参数存在差别,......[阅读全文] 阅读(3186) | 评论(0) | 转发(0) 发布时间:2015-06-19 17:25:38 ...

  9. linux压缩指定时间的文件,Linux下压缩某个文件夹(文件夹打包)

    tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/home/xahot.ta ...

  10. linux移动一个桌面的文件夹,linux实用命令之如何移动文件夹及文件下

    Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间).接下来是小编为大家收集的linux实用命令之 ...

最新文章

  1. 嵌入式C语言的7个硬核知识
  2. 解决动态规划问题4步曲
  3. api.php phpcms,phpcms程序api怎么写接口
  4. eclipemaven本地仓库依赖_【Maven】解决本地jar依赖
  5. 下面哪个对象能代表当前的HTML文件,Java基础练习选择题(5)
  6. Serverless Framework 无服务器架构
  7. 【题解】 bzoj4004: [JLOI2015]装备购买 (线性基)
  8. markdown来写API接口文档
  9. CCF推荐国际学术会议和期刊目录2019年
  10. 《自己动手写操作系统》 第一章总结
  11. 详解ASIC设计流程
  12. cookiecutter笔记
  13. 看看谁是中国最受欢迎的50大技术博客?
  14. 药店微信小程序的功能
  15. RAID设备的数据恢复
  16. Linux 下如何压缩/解压缩文件
  17. Wordpress网站备份
  18. flutter创建/导入区块链钱包,获取余额
  19. 盘点三种常见的硬盘接口
  20. 重磅:2018逐浪字库样本发布

热门文章

  1. 94.cache 和虚拟存储器的功能不同
  2. 25.计算机和计算器的区别
  3. 机器人也是“艺术家”!上海世界移动大会聚焦5G时代
  4. matlab编程小结
  5. STL 之 deque容器详解
  6. usb类调用失败解释
  7. C语言求35 45的最大公约数,c语言编程题目及答案
  8. java resources目录 编码_关于Java项目读取resources资源文件路径
  9. java字符串 大括号_string.format格式化字符串中转义大括号“{}”
  10. 011_JavaScript数据类型