如何在 Linux 中删除超过 30 天的文件

2023-11-16

定期从服务器中清除旧的未使用文件是最佳实践。例如,如果我们每天/每小时在服务器上运行文件或数据库备份,那么服务器上将会产生很多垃圾。所以要定期清洁。为此,您可以从备份目录中找到旧文件并清理它们。

本文向您介绍如何查找和删除超过 30 天的文件。这里的 30 天前是指最后修改日期在 30 天之前。

1.删​​除超过30天的文件

使用查找命令,您可以搜索并删除所有修改超过X天的文件。此外,如果需要,您可以使用单个命令删除它们。

首先,列出 /opt/backup 目录下所有超过 30 天的文件。

find /opt/backup -type f -mtime +30 

验证文件列表并确保上述命令中没有列出有用的文件。确认后,您就可以使用以下命令删除这些文件。

find /opt/backup -type f -mtime +30 -delete 

2.删除特定扩展名的文件

您还可以指定更多过滤器来查找命令,而不是删除所有文件。例如,您只能删除扩展名为“.log”并且在 30 天之前修改过的文件。

为了安全起见,首先进行试运行并列出符合条件的文件。

find /var/log -name "*.log" -type f -mtime +30 

验证列表后,通过运行以下命令删除这些文件:

find /var/log -name "*.log" -type f -mtime +30 -delete 

上面的命令只会删除带有.log延期且最后修改日期超过 30 天。

3.递归删除旧目录

The -delete如果目录不为空,选项可能会失败。在这种情况下,我们将使用 Linuxrm 命令用find来完成删除。

搜索下所有目录/var/log使用以下命令在 90 天之前进行修改。

find /var/log -type d -mtime +90 

这里我们可以使用 rm 命令执行-exec命令行选项。 Find命令的输出将被发送到rm命令作为输入。

find /var/log -type d -mtime +30 -exec rm -rf {} \; 
WARNING:删除目录之前,请确保没有删除用户目录。有时父目录修改日期可能早于子目录。在这种情况下,递归删除也可以删除子目录。

结论

您已经了解了如何在 Linux 命令行中查找和删除已修改超过指定天数的文件。这将帮助您清理系统中不需要的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Linux 中删除超过 30 天的文件 的相关文章

  • 匹配一行中的第 n 个单词

    在我使用的应用程序中 我无法选择比赛组 1 我可以使用的结果是正则表达式的完整匹配 但我需要第 5 个单词 jumps 作为匹配结果 而不是完整的匹配项 The Quick Brown Fox Jumps 4 The quick brown
  • md5 目录树中的所有文件

    我有一个结构如下的目录 Test txt Test1 Test1 txt Test1 copy txt Test1a Test1a txt Test1a copy txt Test2 Test2 txt Test2 copy txt Tes
  • DBContext Find with Includes - 其中带有主键的 lambda

    我正在编写一个通用存储库以使用 DBContext 与 EF 交互 我有一个通用的 Get 方法 它接收主键值并返回实体 public class DALRepository
  • 更有效地查找和压缩数百万个文件

    我的服务器上有一个作业在命令行提示符下运行了两天 find data name filepattern 2009 exec tar uf 2009 tar 它正在采取forever 然后还有一些 是的 目标目录中有数百万个文件 在经过良好哈
  • jQuery 多重选择器 + find() 与 Children()

  • cakephp:查找带有“包含”的语句

    以下用户模型函数来自 MilesJones 论坛插件 有人可以告诉我 find stmt txt 中的 contain 有什么用吗 我在 cakephp 食谱中找不到任何包含的示例 任何帮助表示赞赏 public function getP
  • 查明文件是否已更改

    我想查明自上次启动 shell 脚本以来文件是否已被修改 也许可以通过创建布尔值或其他东西 也许可以将上次运行脚本的时间保存在一个文本文件中 下次启动脚本时它应该读取该文件 然后它应该找出哪些文件已更改 以便我可以检查是否有文件已使用以下内
  • 命令行查找、sed、exec

    我在一个文件夹 子文件夹中有一堆文件 我试图制作某种单行代码 以便偶尔快速复制 粘贴 内容如下 太长 无法粘贴到此处 http pastebin com 4aZCPbwT http pastebin com 4aZCPbwT 我尝试过以下命
  • find 命令仅搜索非隐藏目录

    在以下命令中 我只想搜索非隐藏的目录 如何使用以下命令执行此操作 我想在搜索日志文件时忽略隐藏目录 find home tom project name log txt ls home tom project dir1 dir2 backu
  • 错误:“grep:参数列表太长”[重复]

    这个问题在这里已经有答案了 我正在尝试运行以下命令 但出现参数太长错误 你能帮我吗 HOST grep rl pattern home public html bash bin grep Argument list too long 有没有
  • 使用 VBA 选择“查找”的第二个结果

    我正在努力做到这一点 以便我可以找到 lights 的第二个结果 以防该术语出现各种情况 下面的代码查找所考虑范围内的第一个匹配项 Dim ws As Worksheet Dim rng1 As Range Dim y As Range C
  • 如何在 Perl 脚本中递归查找文件/文件夹?

    我有一个 perl 脚本 我编写了该脚本来递归地搜索 Windows 文件夹中的文件 我输入搜索文本作为 perl 脚本运行时参数 以查找名称中包含此文本的文件 perl脚本如下 use Cwd file1 ARGV 0 res1 glob
  • 将 pandas 数据框中的所有 inf、-inf 值替换为 NaN

    我有一个大型数据框 不同列中包含 inf inf 值 我想用 NaN 替换所有 inf inf 值 我可以逐栏这样做 所以这有效 df column name df column name replace np inf np nan 但我的
  • 在 Dart 中查找和替换字符串

    我正在为这个应用程序使用 flutter 但我在应用程序的逻辑方面遇到了问题 任何帮助深表感谢 应用程序目标 通过以下方式将所有输入缩写解码 替换 为单词 用户通过文本框输入文本 应用程序查找任何缩写 几个 并仅用文本替换缩写 我能够使用一
  • 朱莉娅在矩阵中查找(行,列)而不是索引

    在 Julia 中 您可以通过以下方式找到矩阵中元素的坐标 julia gt find x gt x 2 1 2 3 2 3 4 1 0 2 3 element Array Int64 1 2 4 9 这些值是正确的 但我更希望得到 row
  • 如何在unix中移动或复制“find”命令列出的文件?

    我有使用下面的命令看到的某些文件的列表 但是如何将列出的这些文件复制到另一个文件夹 例如 test 中 find mtime 1 exec du hc 添加到 Eric Jablow 的答案中 这是一个可能的解决方案 它对我有用 linux
  • 符合 POSIX 标准的 shell 相当于 Bash“while read -d $'\0' ...”?

    我正在尝试使 Bash 脚本严格符合 POSIX 标准 即消除任何潜在的 Bashisms http mywiki wooledge org Bashism 通过使用checkbashisms px script filename 在给定的
  • Windows 相当于 Unix find 命令,用于搜索多种文件类型

    虽然在 Windows 中安装了 cygwin 可以提供大部分 unix 命令 但我仍然想知道如何使用 Windows find 命令在一个命令中搜索多个文件类型 ie find name cpp o name h o name java
  • jquery 在单击的实例之后查找下一个图像

    我正在尝试建立一个图像库 您可以在其中单击拇指 然后可以使用下一个和上一个按钮 我的问题是用户最初可以单击我需要检测的任何图像以及下一个或上一个图像的锻炼 并将显示 src 替换为下一个图像的 src 我只是想让下一个按钮首先工作 因为前一
  • Subversion 中所有版本化文件的列表? (按名称删除文件)

    办公室里的一些聪明人设法提交了一大堆 备份 文件 它们以 到我们的颠覆服务器 我最好使用一些基本的 bash 脚本来删除这些文件 而不是手动浏览存储库 有什么方法可以获取目录中所有 subversion 版本控制文件的列表 以便我可以进行一

随机推荐

  • 大数据-linux免密登录

    操作 mini yum服务器 A root sizhan ssh keygen Generating public private rsa key pair Enter file in which to save the key root
  • JavaScript实现点击复制(JS访问剪贴板相关)

    一 具体代码 网页前端开发中有时会出现这样的场景 让用户点击某个按钮 然后就能直接复制对应的文本内容 让用户可以将文本内容粘贴到想要粘贴的地方 常用于分享功能模块中 如果想要实现这种效果就需要我们去访问用户的剪贴板 然后把想要复制的内容写入
  • logging模块详细使用

    啄木鸟社区里的Pythonic八荣八耻有一条 以打印日志为荣 以单步跟踪为耻 很多程序都有记录日志的需求 并且日志中包含的信息既有正常的程序访问日志 还可能有错误 警告等信息输出 python的logging模块提供了标准的日志接口 你可以
  • 公司取名字-免费查询参考(中英文2023年精选100个)公司名字集

    中文名称 1 星辰科技 2 卓越集团 3 璀璨科技 4 炫彩网络 5 融智科技 6 致远集团 7 飞跃科技 8 极致集团 9 灵动科技 10 豪迈集团 11 神州科技 12 创维集团 13 赛博科技 14 蓝海集团 15 云端科技 16 融
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-048(CVE-2017-9791)

    博主介绍 博主介绍 大家好 我是 PowerShell 很高兴认识大家 主攻领域 渗透领域 数据通信 通讯安全 web安全 面试分析 点赞 评论 收藏 养成习惯 一键三连 欢迎关注 一起学习 一起讨论 一起进步 文末有彩蛋 作者水平有限 欢
  • IDEA(2023)解决运行乱码问题

    作者介绍 一个有梦想 有理想 有目标的 且渴望能够学有所成的追梦人 学习格言 不读书的人 思想就会停止 狄德罗 个人主页 进入博主主页 专栏系列 无 欢迎小伙伴们访问到博主的文章内容 在浏览阅读过程发现需要纠正的地方 烦请指出 愿能与诸君一
  • 如何增加 Tomcat 上传文件大小限制

    今天在部署一个war文件 开发站点代码 时Tomcat 8 我遇到了以下有关 Apache Tomcat 服务器中上传限制大小的问题 所以我决定将 Tomcat 上传文件大小限制增加到高于默认值 默认上传限制设置为 50 MB Caused
  • Node.js 与 MySQL 示例

    Node js 是一种流行的 Web 应用程序编程语言 如 PHP 和 JAVA 此外 MySQL 是用于存储值的最流行的数据库 Node js 的 MySQL 数据库驱动程序可在 NPM 存储库下找到 在本教程中 您将学习如何使用 Nod
  • 如何在 Ubuntu 18.04 上安装 GIMP 2.10

    GIMP GNU 图像处理程序 是一个免费分发的用于处理图像的软件 我们可以轻松地优化图像 使用 GIMP 转换其类型 它为设计师提供了将图像转化为真正独特的创作的能力和灵活性 GIMP 是一个跨平台应用程序 可用于 Linux Windo
  • 如何在 EC2 实例上创建交换分区

    在 Amazon Elastic Compute Cloud EC2 实例上创建交换分区有助于提高系统的性能和稳定性 交换分区是硬盘驱动器上的一个空间 当物理内存 RAM 不足时 操作系统可以将其用作虚拟内存 在本文中 我们将解释如何在 E
  • 如何在 Ubuntu 20.04 上安装和配置 Ansible

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 Ansible 是 Chef 和 Puppet
  • 如何在 Bash Shell 中使用换行符 ( \n )

    问题 如何将换行打印为 n在 bash shell 中 如何使用 n在 shell 脚本中打印新行 Issues 在 bash shell 中回显换行符打印文字 n但不是新线 打印文字 n 在 bash 脚本中的嵌套打印新行中 Comman
  • 如何在 CentOS/RHEL 和 Fedora 上设置 VNC 服务器(Linux 远程桌面访问)

    VNC 虚拟网络计算 服务器支持 Linux 系统的远程桌面访问 类似于MSTSC在窗户中 一般来说Linux管理员不喜欢使用Windows访问 但有时我们需要访问Linux的远程桌面 在这种情况下 我们需要在 Linux 系统上安装 vn
  • 如何在 FirewallD 中打开特定端口

    防火墙是大多数现代 Linux 发行版使用的防火墙管理解决方案 在本教程中 您将学习如何在firewalld 中打开端口 本教程介绍如何在firewalld 中为公共 特定IP 或IP 范围打开端口 找到我们的上一篇文章关于Firewall
  • 在 Windows 上安装 Python 3.x 的综合指南

    Python 是一种广泛使用的通用编程语言 以其简单性 可读性和广泛的应用范围而闻名 无论您是开发 Web 应用程序 执行数据分析还是自动化任务 Python 都是一个绝佳的选择 截至 2023 年 7 月更新本文时 最新的 Python
  • 如何在一个 Cron 作业中运行多个命令

    Crontab 是一个用于在 Unix Linux 系统上定期运行计划任务的实用程序 它允许我们安排多个 cron 作业同时运行 我们可以安排任何 shell 命令或脚本在终端上执行 crontab 中的每个计划作业均由换行符分隔 我们还可
  • Linux 中的 tee 命令及示例

    tee 是 Linux 中的一项命令 它从标准输入读取并将输出写入标准输出和一个或多个文件 从而有效地复制输入 它通常用在 shell 脚本中 将命令输出发送到文件和控制台 Linux 中的 Tee 命令主要与其他命令结合使用 它读取输入并
  • 如何在 Debian 10/9 上安装 Mono

    Mono 项目由微软赞助 它是 Microsoft NET Framework 的开源跨平台实现 Mono 支持大多数具有 32 位和 64 位架构的现代操作系统 本教程帮助您逐步在 Debian 10 和 Debian 9 系统上安装 M
  • 如何在 Ubuntu 18.04 和 16.04 上设置 Squid 代理服务器

    Squid 是类 Unix 操作系统中最流行的代理服务器 它还用于网页过滤 Squid 还可用作 HTTP HTTPS 和 FTP 协议的缓存代理服务器 本文将帮助您在 Ubuntu 18 10 18 04 LTS 16 04 LTS 和
  • 如何在 Linux 中删除超过 30 天的文件

    定期从服务器中清除旧的未使用文件是最佳实践 例如 如果我们每天 每小时在服务器上运行文件或数据库备份 那么服务器上将会产生很多垃圾 所以要定期清洁 为此 您可以从备份目录中找到旧文件并清理它们 本文向您介绍如何查找和删除超过 30 天的文件