`
zhaomengsen
  • 浏览: 207519 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

Linux应用总结(1):自动删除n天前日志

阅读更多
linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧。



1.删除文件命令:

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

实例命令:

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

说明:

将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

find:linux的查找命令,用户查找指定条件的文件;

/opt/soft/log/:想要进行清理的任意目录;

-mtime:标准语句写法;

#p#分页标题#e#+30:查找30天前的文件,这里用数字代表天数;

"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;

-exec:固定写法;

rm -rf:强制删除文件,包括目录;

{} \; :固定写法,一对大括号+空格+\+;



2.计划任务:

若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。



2.1创建shell:

touch /opt/soft/bin/auto-del-30-days-ago-log.sh

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

新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限



2.2编辑shell脚本:#p#分页标题#e#

vi auto-del-30-days-ago-log.sh

编辑auto-del-30-days-ago-log.sh文件如下:



#!/bin/sh

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



ok,保存退出(:wq)。



2.3计划任务:

#crontab -e

将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行

输入:

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

这里的设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务了。

完成以上三步,你就再也不每天惦记是否硬盘空间满了,该清理日志文件了,再也不会受到服务器硬盘空间不足的报警信息了,放心的去看书喝咖啡去吧!

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0303/205.html?1457082362
分享到:
评论

相关推荐

    Linux计划任务,自动删除n天前的旧文件

    ### Linux计划任务自动删除n天前的旧文件 在日常运维工作中,经常需要对服务器上的备份文件进行管理和清理,以防止因数据量过大而占据过多的磁盘空间。本文将详细介绍如何利用Linux下的`find`命令配合计划任务...

    自动删除N时刻前的文件(日志).rar

    通过以上步骤,我们可以构建一个高效且可靠的自动删除N时刻前日志文件的C++程序。这不仅可以帮助我们管理磁盘空间,还可以保持系统的整洁和高效运行。在实际项目中,根据具体需求,还可以进一步扩展功能,如添加日志...

    Shell脚本自动备份与删除apache日志

    为了解决这个问题,我们可以使用Shell脚本来实现日志的自动备份与删除,确保日志管理的有效性。 首先,我们需要了解Shell脚本的基础。Shell是一种命令解释器,允许用户通过命令行与操作系统交互。在Linux或Unix系统...

    DB2 归档日志清理

    9. **验证日志记录**:等待10-20分钟后,进入log目录并通过`tail -n 50`命令查看最新的日志文件,确认报文记录是否正常,以确保整个清理过程没有对业务造成负面影响。 #### 三、注意事项 1. **备份路径确认**:在...

    韩顺平 Linux视频总结

    【韩顺平 Linux 视频总结】 Linux 是一种开源的操作系统,其文件系统采用级层式的树状目录结构。根目录 `/` 是所有其他目录的起点。以下是一些主要的预定义目录及其用途: 1. **root**: 存放 root 用户(系统管理...

    Linux面试常见题

    - **应用场景**: 自动化任务执行。 **5. grep的使用** - **命令**: `grep [option]` - **功能**: 在文件中搜索匹配的行。 - **应用场景**: 日志文件分析、文本搜索等。 - `-c`: 仅输出匹配行的计数。 - `-I`: 不...

    linux相关和服务器总结.docx

    Linux操作系统和服务器知识总结 Linux是一种开放源代码的操作系统,广泛应用于服务器领域,因其稳定性、安全性和可定制性而受到青睐。以下是对Linux系统和服务器的一些关键知识点的概述。 1. 服务器类型: - 非...

    Logcleaner:Linux 日志清理器

    2. **自定义规则**: 用户可以根据需求设置清理规则,比如保留最近N天的日志、仅清理特定类型的日志文件等,确保重要日志不被误删。 3. **安全性**: 在删除日志前,Logcleaner通常会进行备份,以防重要数据丢失。...

    linux 常用60个命令

    **应用技巧**:设置文件不可删除、不可更改等特殊属性。 ##### 8. sudo **作用**:以其他用户的身份执行命令。 **格式**:`sudo [选项] 命令` **应用技巧**:在非 root 用户下执行需要特权的命令。 #### 六、其他...

    YLog4C通用C++日志类1

    4. 每天最多存在4个日志文件,超出数量后,系统会自动删除后缀最大的日志文件。 YLog4C提供了六个不同的日志级别:Fatal、Error、Warn、Info、Debug和Buff,级别从高到低排列。调用这些接口类似于printf函数,允许...

    Linux文件和目录操作命令

    - `head -n number file_name`:显示前number行。 - **tail**:显示文件的最后几行。 - `tail file_name`:默认显示最后10行。 - `tail -f file_name`:连续显示文件的最新追加内容,适用于监视日志文件的变化。 ...

    linux课件A第1章 Linux操作系统的安装与启动.ppt

    它的名称"Linux"发音为['li:nэks],重音在"哩"上。Linux不仅在个人计算机上广泛使用,还在服务器、嵌入式设备和超级计算机中占据重要地位。 1. **Linux的历史、现状和发展** - Linux的历史可以追溯到1991年,当时...

    linux sed awk

    ### Linux Sed 和 Awk:文本处理利器 在Linux系统中,`sed`(Stream Editor)与`awk`是两种非常强大的文本处理工具。它们能够帮助用户高效地进行文本的搜索、替换、删除、添加等操作,是每一个系统管理员和开发者的...

    每天一个linux命令(15):tail命令分享.pdf

    总结起来,`tail`命令是Linux系统管理中不可或缺的工具,它的强大在于其灵活性和实时性,使得用户能够轻松地跟踪和分析文件的尾部信息,尤其在日志监控方面表现出色。了解并熟练掌握`tail`命令的使用,将极大地提高...

    从零开始学LINUX

    ### 从零开始学LINUX #### 安装Linux - **知识点概述**:了解Linux发行版的选择,熟悉安装过程中的基本配置项如选择安装类型、分区方式等。 - **详细解析**: - **选择合适的Linux发行版**:根据用途(如服务器...

Global site tag (gtag.js) - Google Analytics