首页 > 系统相关 >linux下自动删除文件夹,如何在Linux中自动删除或清理/tmp文件夹内容?

linux下自动删除文件夹,如何在Linux中自动删除或清理/tmp文件夹内容?

时间:2023-10-17 15:33:40浏览次数:35  
标签:tmp 文件 删除 Apr 文件夹 自动 daygeek 目录

https://blog.csdn.net/weixin_36315079/article/details/116614583?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169752720316800211589266%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169752720316800211589266&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-8-116614583-null-null.142^v96^pc_search_result_base6&utm_term=%E6%B8%85%E7%90%86%2Ftmp&spm=1018.2226.3001.4187

 

 

如何在Linux中自动删除或清理/tmp文件夹内容?

每个Linux系统都有一个名为的目录/tmp,该目录已挂载了单独的文件系统。

它具有称为tmpfs的特殊文件系统。这是一个虚拟文件系统,操作系统将在系统引导时自动挂载/tmp挂载点。

如果要根据应用程序要求分别挂载/tmp目录。

是的,您可以挂载它,并且应该将其添加到/etc/fstab文件中。

/tmp目录是一个目录,用于在应用程序运行时保存临时文件(或会话文件)。

这些临时文件的处理完成后,它们将由应用程序自动删除。

默认情况下,仅在系统启动或重新引导时清理/tmp目录。

默认情况下,完成处理后,应用程序会自动从此目录中删除其内容。但是某些应用程序不会执行。

因此,我们需要手动删除这些文件,但是如果我们从此目录中删除一些活动文件,这会导致断开当前已建立的会话的连接。

但是,如果/tmp目录已满,我们需要删除未使用的文件,旧的会话文件或无效的文件,以释放一些磁盘空间。

否则,在服务器上运行的应用程序将无法正常工作,当您尝试在/tmp目录中写入会话文件时,您将收到一些错误消息。

在这种情况下,删除/tmp目录内容的最佳方法是什么。

使用df命令检查/tmp目录是否已单独安装。是的,根据下面的输出,/tmp已分别安装。

# df -h

Filesystem      Size  Used Avail Use% Mounted on

dev             7.8G     0  7.8G   0% /dev

run             7.8G  1.7M  7.8G   1% /run

/dev/nvme0n1p1  217G  129G   78G  63% /

tmpfs           7.8G  841M  7.0G  11% /dev/shm

tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup

tmpfs           7.8G  106M  7.7G   2% /tmp

/dev/loop0      109M  109M     0 100% /var/lib/snapd/snap/odrive-unofficial/2

/dev/loop1       91M   91M     0 100% /var/lib/snapd/snap/core/6405

/dev/loop2       90M   90M     0 100% /var/lib/snapd/snap/core/6130

tmpfs           1.6G   12K  1.6G   1% /run/user/120

tmpfs           1.6G   52K  1.6G   1% /run/user/1000

/dev/sda2       932G  622G  311G  67% /run/media/daygeek/DATA

您可以导航到“ /tmp”安装点,以查看/tmp占用了哪种文件。

# ls -lh /tmp

total 0

drwxr-xr-x 3 daygeek daygeek 80 Apr 28 22:20 checkup-db-daygeek

-rw-r----- 1 daygeek daygeek  0 Apr 28 22:20 qipc_sharedmemory_MSMNotifier1982c3c75cbed4786bc185973fce6242a7b208b8

-rw-r----- 1 daygeek daygeek  0 Apr 28 22:20 qipc_systemsem_MSMNotifier1982c3c75cbed4786bc185973fce6242a7b208b8

srwxr-xr-x 1 daygeek daygeek  0 Apr 29 08:43 qtsingleapp-notepa-8945-3e8

drwx------ 3 root    root    60 Apr 28 22:19 systemd-private-7c36847f844143cba83f3a0fdd8623b7-colord.service-0SAr1l

drwx------ 3 root    root    60 Apr 28 22:19 systemd-private-7c36847f844143cba83f3a0fdd8623b7-ModemManager.service-4jLbNd

drwx------ 3 root    root    60 Apr 28 22:19 systemd-private-7c36847f844143cba83f3a0fdd8623b7-systemd-timesyncd.service-iuoel6

drwx------ 3 root    root    60 Apr 28 22:19 systemd-private-7c36847f844143cba83f3a0fdd8623b7-upower.service-ApTFNf

drwx------ 3 daygeek daygeek 60 Apr 29 08:35 Temp-7767ec79-0c9d-405e-a456-52718e66292d

drwx------ 2 daygeek daygeek 40 Apr 28 22:22 Temp-9bb8163c-aec2-47ce-a0b1-597ab299807a

drwx------ 2 daygeek daygeek 40 Apr 29 11:14 tracker-extract-files.1000

可以通过使用以下三个选项来实现。

atime: 文件上次访问时间–访问时间显示文件或目录中的数据最后被命令或脚本等任何进程访问的时间。

ctime:文件上次更改时间– ctime显示文件或目录元数据何时更改。这意味着何时更改文件属性(如所有权或组等)。

mtime:文件上次修改时间– mtime显示您修改文件内容或保存文件的时间。除非文件属性被更新,否则大多数情况下ctime和mtime会相同。

方法1:如何使用mtime在Linux中删除早于“ X”天的/tmp文件

这些命令将帮助您删除“ X”天之前的文件。取决于您,如何执行此操作。您可以根据需要使用这些选项。

要使用mtime删除/tmp目录上早于2天的/tmp文件,请运行以下命令。

# find /tmp -type f -mtime +2 -delete;

or

# find /tmp -type f -mtime +2 -exec rm -f {} ;

or

# find /tmp -type f -mtime +2 | xargs rm -f

方法2:如何在Linux中使用atime删除早于“ X”天的/tmp文件

这些命令将帮助您删除“ X”天之前的文件。取决于您,如何执行此操作。您可以根据需要使用这些选项。

要使用atime删除/tmp目录上早于2天的/tmp文件,请运行以下命令。

# find /tmp -type f -atime +2 -delete;

or

# find /tmp -type f -atime +2 -exec rm -f {} ;

or

# find /tmp -type f -atime +2 | xargs rm -f

方法3:如何在Linux中使用ctime删除早于“ X”小时的/tmp文件

要使用ctime删除/tmp目录上早于5个小时的/tmp文件,请运行以下命令。

# find /tmp -type f -mmin -300 -delete;

or

# find /tmp -type f -mmin -300 -exec rm -f {} ;

or

# find /tmp -type f -mmin -300 | xargs rm -f

方法4:如何在Linux中使用Shell脚本删除早于“ X”小时的/tmp文件

以上方法需要人工交互才能执行任务。

但是,我们无法在24/7之前关注这一点。如果您有1000多台服务器,那么解决方案是什么?

它应该通过脚本自动执行。要清理/tmp目录,我们可以编写一个小的Shell脚本。

该脚本将删除5小时之前的/tmp文件。

# vi /opt/script/tmp-cleanup.sh

#!/bin/bash

find /tmp -type f -mmin -300 -exec rm -f {} ;

最后添加一个cronjob以使其自动化。它将每五个小时运行一次。

# crontab -e

0 */5 * * * /bin/bash /opt/script/tmp-cleanup.sh

标签:tmp,文件,删除,Apr,文件夹,自动,daygeek,目录
From: https://www.cnblogs.com/wcxia1985/p/17769834.html

相关文章

  • Redis如何实现自动续期
    在Redis中,可以使用Lua脚本结合SET命令和EXPIRE命令来实现自动续期和加锁的操作。可以在给定的超时时间内自动续期锁。locallockKey=KEYS[1]--锁的键名locallockValue=ARGV[1]--锁的值locallockTimeout=tonumber(ARGV[2])--锁的超时时间(秒)--尝试获取锁l......
  • 线上临时文件夹报错Failed to parse multipart servlet request; nested exception is
    线上临时文件夹报错Failedtoparsemultipartservletrequest;nestedexceptionisjava.lang.RuntimeException:java.nio.file.NoSuchFileException......
  • 为网站接入免费SSL证书let's encrypt 并实现自动续签功能
    以ubuntu系统为例:1.安装certbot:aptupdateaptupgradesudoaptinstallcertbotpython3-certbot-nginx2.验证Web服务器端口是否打开并允许通过防火墙sudoufwstatusverbose3.获取SSL证书sudocertbot--nginx-dyour_domain.com-dwww.your_domain.com4.检查C......
  • vs自动生成ignore文件
    第一步,进入vs,点击工具->选项第二步,点击添加(如果是第一次,不是显示编辑,显示的是添加)添加文件到git远程仓库即可......
  • 爬虫ip如何加入到代码里实现自动化数据抓取
    以下是一个使用HTTP:Tiny和www.weibo.com的音频爬虫程序的示例。这个示例使用了https://www.duoip.cn/get_proxy来获取爬虫IP。请注意,这个示例可能需要根据你的实际需求进行调整。#!/usr/bin/perlusestrict;usewarnings;useHTTP::Tiny;useLWP::UserAgent;useJSON;my$......
  • 一文带你了解自动化测试是什么?
    本章主要讲解自动化测试的含义、分类、项目使用,以及自动化测试工具的优势。一、自动化测试概述1、什么是自动化测试?自动化测试是软件测试活动中的一个重要分支和组成部分。随着软件产业的不断发展,市场对软件周期的要求越来越高,于是催生了各种开发模式,如大家熟知的敏捷开发,从而......
  • tomcat下 删除webapps和work下面的项目后,tomcat启动报错
    常常在开发时,多个项目挂在一个Tomcat下,但是后续想把个别项目从Tomcat移除的时候发现,Tomcat执行报错.我咱们只需要找到打开此文件后,找到找到这些你已经删除的项目,有多少删多少,再重新启动Tomcat就不会报错了......
  • tomcat下 删除webapps和work下面的项目后,tomcat启动报错
    常常在开发时,多个项目挂在一个Tomcat下,但是后续想把个别项目从Tomcat移除的时候发现,Tomcat执行报错.我咱们只需要找到打开此文件后,找到找到这些你已经删除的项目,有多少删多少,再重新启动Tomcat就不会报错了......
  • 自动化测试
    接口自动化测试整体步骤接口需求分析确定接口测试范围和目标测试范围登录接口注册接口测试目标接口功能测试阅读文档,需求分析要点获取需求规格说明书《apitest接口需求.pdf》,设计说明书等接口文档分析接口的功能要求(实现何种业务)接口地址(协议、服务器IP、端口号、接口名、/是否可以......
  • O(1) 时间插入、删除和获取随机元素
    题目实现RandomizedSet类:RandomizedSet()初始化RandomizedSet对象boolinsert(intval)当元素val不存在时,向集合中插入该项,并返回true;否则,返回false。boolremove(intval)当元素val存在时,从集合中移除该项,并返回true;否则,返回false。intgetRandom()随机......