定期删除服务器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日志并进行多维度分析。
相关文章
|
7天前
|
关系型数据库 MySQL 应用服务中间件
服务器端日志在哪里
服务器端日志在哪里
|
2月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
2月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
164 0
|
3月前
|
存储 XML Java
seata2.0服务器日志位置修改
这个过程要求您对Seata配置和Linux文件系统有基本的认识。调整配置文件时要非常细心,因为配置错误会直接影响Seata服务的运行。通过以上步骤,您可以有效地修改Seata服务器的日志位置,并确保日志文件按照您的需要被妥善地管理和存储。
96 3
|
2月前
|
应用服务中间件 Shell Linux
使用logrotate定期切割nginx日志
使用logrotate定期切割nginx日志
|
3月前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
341 1
|
3月前
|
存储 弹性计算 运维
可观测性体系问题之ECS管控对其所有日志的管理如何解决
可观测性体系问题之ECS管控对其所有日志的管理如何解决
36 0
|
3月前
|
存储 弹性计算 运维
可观测性体系问题之ECS管控对日志数据的处理如何解决
可观测性体系问题之ECS管控对日志数据的处理如何解决
57 0
|
3月前
|
存储 大数据 数据库
MySQL设计规约问题之为什么要利用pt-query-digest定期分析slow query log并进行优化
MySQL设计规约问题之为什么要利用pt-query-digest定期分析slow query log并进行优化
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
下一篇
无影云桌面