首页 > 系统相关 >linux定时删除历史日志

linux定时删除历史日志

时间:2024-05-29 21:31:45浏览次数:25  
标签:脚本 log sh linux 日志 执行 定时

在Linux系统中,日志文件是记录系统、应用程序或服务的运行信息、错误消息和警告的重要工具。然而,随着时间的推移,这些日志文件会不断积累,占用大量的磁盘空间。如果不及时清理,可能会导致磁盘空间不足,从而影响系统的正常运行。因此,定时删除历史日志成为了Linux系统管理中不可或缺的一部分。

方法:

1、**编写清理脚本**:

  - 使用文本编辑器(如vi或nano)创建一个shell脚本文件,例如`del-30-days-ago-log.sh`。

  - 在脚本中,使用`find`命令结合适当的选项来定位需要删除的日志文件。例如,可以使用`-mtime`选项来指定文件的修改时间,`-name`选项来指定文件名模式。

  - 在`find`命令后使用`-exec`选项来执行删除操作,通常使用`rm`命令。

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} ; 

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;

2、**为脚本添加执行权限**:

  - 使用`chmod`命令为脚本文件添加执行权限。例如,执行`chmod +x clearlog.sh`命令。

chmod +x del-30-days-ago-log.sh

3、**设置定时任务**:

  - 使用`crontab`命令编辑当前用户的cron表。执行`crontab -e`命令会打开一个编辑器,用于添加或修改定时任务。

  - 在cron表中添加一行来指定定时任务的执行时间和要执行的脚本。例如,要每天凌晨1点执行清理脚本,可以添加如下行:`0 1 * * * /opt/soft/log/del-7-days-ago-log.sh >/dev/null 2>&1`。

#crontab -e

0 1 * * * /opt/soft/log/del-7-days-ago-log.sh >/dev/null 2>&1

注意事项:

  • 在编写清理脚本时,务必谨慎选择需要删除的文件,以免误删重要日志。

  • 在设置定时任务时,要确保脚本的执行时间和频率合理,避免对系统性能造成过大的影响。

  • 定期检查定时任务的执行情况,确保日志文件按时被清理。

通过上述方法,Linux系统可以自动定时删除历史日志,释放磁盘空间,保持系统的稳定运行。同时,也可以根据需要调整清理策略,以适应不同的应用场景和需求。

标签:脚本,log,sh,linux,日志,执行,定时
From: https://blog.csdn.net/weixin_58494422/article/details/139278111

相关文章

  • linux 查看csv文件,按指定列聚合 排序
    在Linux中,你可以使用awk工具来查看CSV文件的内容,并按照指定的列进行聚合。awk是一种强大的文本处理工具,它可以处理文本文件中的数据,并根据条件执行相应的操作。以下是一个示例,假设你有一个名为data.csv的CSV文件,其中包含三列数据:姓名、年龄和性别,内容如下:姓名,年龄,性别张......
  • Linux入门第六章LVM与磁盘配额
    一.LVM逻辑卷管理    许多Linux操作系统的使用者在安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量。如果当初估计不准确,一旦系统分区不够用就可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。1.LV......
  • Linux查找文件内容
    从文件内容查找匹配指定字符串的行:$grep"被查找的字符串"文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件$grep"thermcontact"*/*.in从文件内容查找与正则表达式匹配的行:$grep–e“正则表达式”文件名查找时不区分大小写:$grep–i"......
  • 【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
    文章目录......
  • Linux需要修改时区(目前只写了 上海、越南、印度、日本、韩国、UTC0六个时区,可根据自己
    #!/bin/sh#时区列表timezones=("Asia/Shanghai""Asia/Ho_Chi_Minh""Asia/Calcutta""Asia/Tokyo""Asia/Seoul""UTC")echo"上海时区"echo"越南时区"echo"印度时区"e......
  • Linux 无法访问另一台机器上的服务,重启后可以访问,一段时间后又无法访问
    一台Linux主机A无法访问另一台Linux主机B上的服务,我在自己的电脑(windows)上是可以访问的,重启B后可以访问,但是十几个小时之后又无法访问,再次重启后又可以访问。#无法访问的原因是本机的静态ip设置有问题#系统是Debian12source/etc/network/interfaces.d/*#Theloopback......
  • 通过admin配置定时任务
    通过admin配置定时任务安装包pipinstalldjango-celery-beat#使用这个的前提是你已经安装了其他包了pipinstallDjangopipinstallcelerypipinstallredispipinstalleventlet去app中注册INSTALLED_APPS=[ #其他包"django_celery_beat",]屏蔽掉原来......
  • celery定时任务
    注意:不论是定时任务,还是普非定时任务,都需要启动worker,别忘记。(〃>目<)老方法#1配置文件celery.py中不是settings.py中!!!#时区app.conf.timezone='Asia/Shanghai'#是否使用UTCapp.conf.enable_utc=False#任务的定时配置fromdatetimeimporttimedeltafromcel......
  • 【ubuntu】使用split切割大的日志文件
    1、问题场景  太慢了  2、命令split-b500mtest.DEBUG.BAKtest.DEBUG.BAK_ 3、命令帮助$split--help用法:split[选项]...[文件[前缀]]将<文件>拆分并输出到"前缀aa"、"前缀ab"等文件;默认以1000行为拆分单位,默认<前缀>为"x"。如果没有指定......
  • linux-c-log-rotation-scheme
    linux-c-log-rotation-scheme#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>voidlogworker(){ino_tinode=0;FILE*logfile;logfile=fopen(logfilename,"a+");while(running){......