关于Linux系统清理/tmp/文件夹的原理

转自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html

我们知道,在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能大家知识的就不多了,所以,今天我们就来剖析一个这两个问题。

在RHEL\CentOS\Fedora\系统中(本次实验是在RHEL6中进行的)

先 来看看tmpwatch这个命令,他的作用就是删除一段时间内不使用的文件(removes files which haven’t been accessed for a period of time)。具体的用法就不多说了,有兴趣的自行研究。我们主要看看和这个命令相关的计划任务文件。
他就是/etc/cron.daily/tmpwatch,我们可以看一下这个文件里面的内容
#! /bin/sh
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 \
        -X ‘/tmp/hsperfdata_*‘ 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 30d "$d"
    fi
done

这个脚本大家仔细分析一下就明白了,第一行相当于一个标记(参数),第二行就是针对/tmp目录里面排除的目录,第三行,这是对这个/tmp目录的清理,下面的是针对其他目录的清理,就不说了。

我们就来看/usr/sbin/tmpwatch "$flags" 30d /var/tmp这一行,关键的是这个30d,就是30天的意思,这个就决定了30天清理/tmp下不访问的文件。如果说,你想一天一清理的话,就把这个30d改成1d。这个你懂的……哈哈!


有个问题需要注意,如果你设置更短的时间来清理的话,比如说是30分钟、10秒等等,你可以在这个文件中设置,但你会发现重新电脑,他不清理/tmp文件
夹里面的内容,这是为什么呢?这就是tmpwatch他所在的位置决定的,他的上层目录是/etc/cron.daily/,而这个目录是第天执行一次计
划任务,所以说,你设置了比一天更短的时间,他就不起作用了。这下明白了吧。
所以结论是:在RHEL6中,系统自动清理/tmp文件夹的默认时限是30天

在Debian\Ubuntu系统中(Ubuntu10.10为实验环境)

在Ubuntu系统中,在/tmp文件夹里面的内容,每次开机都会被清空,如果不想让他自动清理的话,只需要更改rcS文件中的TMPTIME的值。
我们看如何来修改
sudo vi /etc/default/rcS

TMPTIME=0
修改成
TMPTIME=-1或者是无限大
改成这样的话,系统在重新启动的时候就不会清理你的/tmp目录了。
依些类推,如果说要限制多少时间来更改的话,就可以改成相应的数字(本人没有测试,我是这么理解的)

所以结论是:在Ubuntu中,系统自动清理/tmp文件夹的时限默认每次启动

时间: 2024-10-23 07:15:03

关于Linux系统清理/tmp/文件夹的原理的相关文章

x系统清理/tmp/文件夹的原理

转自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html§ 我们知道,在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能大家知识的就不多了,所以,今天我们就来剖析一个这两个问题. 在RHEL\CentOS\Fedora\系统中(本次实验是在RHEL6中进行的) 先来看看tmpwatch这个命令,他的作用就是删除一段时间内不使用

学习LINUX入门,/tmp文件夹

最近开始学习LINUX,关于/tmp文件夹, 查了些资料,/tmp文件夹是存放linux临时文件的地方,在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能就不清除了. 在CentOS5.11中,可以利用/etc/cron.daily/tmpwatch 命令来清理/tmp文件夹 [[email protected] ~]# cat /etc/cron.daily/tmpwatchflags=-umc/usr/sbin/tmpwatch "$flags"

linux系统下修改文件夹目录权限

linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名为cc的文件夹为例. 下面一步一步介绍如何修改权限: 1.打开终端.输入su(没 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件

如何在linux系统下对文件夹名有空格的文件夹进行操作

http://www.2cto.com/os/201409/335119.html 在Windows操作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹, 而在linux则需要进行一些特殊的处理才能实现以上功能. (1)创建文件夹 mkdir my\ first 这条命令创建了文件夹"my first",文件夹名中my和first之间有一个空格,在命令行中需要 添加一个"\"符号和一个空格的组合 mkdir my\ \ tow 这条命令创建了文件夹"

linux系统挂载windows文件夹

首先啊,我在网上查了,都是直接mount或者mount.cifs 用户密码目录就行了,但是我死活都挂载不上,各种无语, 网上查了好多的前辈的挂载方法,但是我就是挂在不上,报错如下: [[email protected] tuxiang]# mount.cifs //10.10.32.201/file /mnt/server -o user=administrator,pass=hxy123Retrying with upper case share namemount error(6): No

Linux系统编程_1_文件夹读取(实现简单ls命令)

闲来无事.随便写写,实现简单的ls命令: | 1 #include <stdio.h> | 2 #include <stdlib.h> | 3 #include <dirent.h> | 4 #include <string.h> | 5 | 6 int main(int argc, char **argv) | 7 { | 8 DIR *pDir; | 9 struct dirent *stDir; | 10 int flag = 0; | 11 | 12

linux系统下修改文件夹权限及其子文件夹权限

root用户下 chmod -R 777 eclipse

linux根目录下各文件夹的作用

linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录(呵呵,特

windows系统和Linux系统之间拷贝文件攻击--pscp

putty secure copy == pscp,是putty提供的文件传输攻击,通过ssh两件,在两台机器之间安全传输文件 获取pscp工具:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,将.exe文件放在windows的system32文件夹下,或者自己设置环境变量.然后在dos命令窗口下即可直接调用. -r 复制目录下所有文件 -l 对方机器(Linux)用户名(root) -pw 密码 使用方法: 1.本