Linux中使用定时任务每周定时清理45天以前日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

如题所示,生产服务器每天会产生很大的日志文件,为了不使硬盘被日志文件塞满,因此需要定期清理日志文件。这时我们可以写一个shell脚本用来清理某个路径下45天以前的日志,然后再设置一个定时任务每周定时执行这个脚本即可

(1)清理某个路径下的日志脚本delOldLogs.sh:

1
[root@prx01 cleanlog] # vim /usr/local/cleanlog/delOldLogs.sh
1
2
3
4
#!/bin/sh
 
#删除输入路径下的修改时间在45天以前的日志文件
find  $1 -mtime +45 -name  "*log*"  - exec  rm  -f {} \;

这段代码不难理解,就是清理参数1所在的路径下的修改时间在45天以前的日志文件

(2)指定清理哪些路径的日志的脚本del_all_OldLogs.sh:

1
[root@prx01 cleanlog] # vim /usr/local/cleanlog/del_all_OldLogs.sh
1
2
3
4
5
#!/bin/bash
 
/usr/local/cleanlog/delOldLogs .sh  "/home/usr/ewp/logs"
/usr/local/cleanlog/delOldLogs .sh  "/home/usr/h5/logs"
/usr/local/cleanlog/delOldLogs .sh  "/home/usr/Payment/logs"

(3)给脚本添加执行权限:

1
[root@prx01 cleanlog] # chmod a+x /usr/local/cleanlog/del*.sh

(4)添加定时任务:

1
[root@prx01  cron ] # vim /var/spool/cron/root

添加以下内容:

1
10 0 * * 6 /usr/local/cleanlog/del_all_OldLogs.sh

注:

  1. 为了防止出现权限不够的情况,因此这里设置了一个root用户的定时任务

  2. 这句代码的意思是:在每周6的0:10执行/usr/local/cleanlog/del_all_OldLogs.sh 这个脚本

如果对Linux中的定时任务不太熟悉的话,建议可以参考下我写的这篇文章:http://www.zifangsky.cn/591.html

(5)查看定时任务:

1
[root@app05 logs] # crontab -l



本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1853889,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
【YashanDB知识库】归档日志清理
本文介绍了YashanDB中手动清理归档日志时遇到的问题及解决方法。问题源于在归档日志未备份或未同步到备机时尝试删除,导致文件仍存在。解决方案是通过调整`ARCH_CLEAN_IGNORE_MODE`参数(如设置为BOTH模式)来忽略备份和备机限制,执行归档日志清理命令(如`ALTER DATABASE DELETE ARCHIVELOG`)。同时,注意YashanDB支持自动清理功能,可通过设置上下阈值避免磁盘空间不足。相关参数可用`show parameter clean`查看。
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
92 7
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
125 1
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
467 2
|
7月前
|
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
271 5
Linux系统日志管理
Linux系统日志管理
136 3
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
98 1
Mysql主从同步 清理二进制日志的技巧
Mysql主从同步 清理二进制日志的技巧
66 1

热门文章

最新文章