定期删除服务器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日志并进行多维度分析。
目录
打赏
0
2
2
0
203
分享
相关文章
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
176 0
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
49 22
|
14天前
|
CentOS 7.9系统备份:每日定期发送最新备份文件到另一台服务器。
注意,这个解决方案忽略了很多细节,例如错误处理和通知、备份版本控制、循环处理旧的备份文件等等。此外,你也应该尽量保持源服务器和目标服务器之间快速,稳定且安全的网络连接,并且目标服务器应该有足够的空间用于存放每天的备份文件。如果你需要更高级的备份解决方案,可能需要考虑一下使用专门的备份工具或者服务。
49 18
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
99 1
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
95 1
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
752 0
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
1542 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
117 9
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
166 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log

热门文章

最新文章