定期删除服务器n天前日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
文件存储 NAS,50GB 3个月
简介: 该内容介绍了如何在Linux中删除指定目录及子目录下超过n天的文件。使用`find`命令结合参数`/nas/logs/* -maxdepth 3 -type d -ctime +6`查找6天前的目录,然后通过`xargs rm -rvf`进行删除。在CentOS中,可以编辑crontab设置定时任务,例如每天1点执行此删除操作:`0 1 * * * find /nas/logs/* -maxdepth 3 -type d -ctime +6 | xargs rm -rvf`,其中`+6`可按需调整。

删除指定目录及子目录下n天前文件
find /nas/logs/* -maxdepth 3 -type d -ctime +6 | xargs rm -rvf
1
find /nas/logs/: 在 /nas/logs/ 目录下查找所有文件和目录。 通配符表示匹配任意文件或目录名。
-maxdepth 3: 设置 find 命令的最大搜索深度为 3。这意味着 find 命令将在 /nas/logs/ 目录及其直接子目录和子目录的子目录中搜索。
-type d: 限制 find 命令的搜索结果为目录。
-ctime +6: 限制 find 命令的搜索结果为创建时间早于 6 天的目录。
|: 管道符号,将前一个命令的输出作为后一个命令的输入。
xargs: 从标准输入中读取数据,并将其作为参数传递给后续命令。
rm -rvf: rm 是删除文件和目录的命令,-r 表示递归删除,-v 表示显示详细信息,-f 表示强制删除,无需确认。
centos中添加定时任务
在 CentOS 中设置定时任务通常使用 cron 服务。Cron 是一个用于在预定时间执行任务的服务,通过 cron 你可以设置系统定时执行的脚本或命令。以下是在 CentOS 中设置定时任务的基本步骤:

编辑 cron 任务:

使用以下命令编辑 cron 任务列表:

crontab -e
1
如果是第一次编辑,系统会询问你选择一个编辑器,选择一个你熟悉的编辑器。

添加定时任务:

在打开的编辑器中,你可以添加你的定时任务。每个定时任务占据一行,并且遵循以下格式:

分 时 日 月 周 命令
1
分(Minute):0-59
时(Hour):0-23
日(Day of month):1-31
月(Month):1-12
周(Day of week):0-7 (0 和 7 都代表周日)
例如,如果你想每天的凌晨 1 点执行一个脚本 /path/to/your/script.sh,你可以添加如下一行:

0 1 * /path/to/your/script.sh
1
保存并退出:

在编辑器中保存你的修改并退出。
查看定时任务:

你可以使用以下命令查看当前用户的定时任务列表:

crontab -l
1
重启 cron 服务:

在添加或修改定时任务后,cron 服务会自动生效。如果你对 cron 服务进行了修改,你可以重启 cron 服务以确保修改生效:

systemctl restart crond
1
定时删除指定目录及子目录下n天前文件
0 1 find /nas/logs/ -maxdepth 3 -type d -ctime +6 | xargs rm -rvf

+6可修改为指定时间

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
12天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
54 1
|
2月前
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
50 1
|
3月前
|
关系型数据库 MySQL 应用服务中间件
服务器端日志在哪里
服务器端日志在哪里
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
517 0
|
4月前
|
应用服务中间件 Shell Linux
使用logrotate定期切割nginx日志
使用logrotate定期切割nginx日志
162 0
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
271 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
6天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
301 3