Linux自动删除n天前日志及实例命令

 更新时间:2018年10月10日 13:57:45   作者:qq_28229449  
这篇文章主要介绍了Linux自动删除n天前日志及实例命令,需要的朋友可以参考下

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:标准语句写法;

+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脚本:

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文件进行数据清理任务了。

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

每次添加完任务后,一定记得重新启动crond服务,不然不会生效

代码如下: 

service crond restart

创建你的第一个Shell脚本

1.写一个脚本

a) 用touch命令创建一个文件:touch my_script

b) 用vim编辑器打开my_script文件:vi my_script

c) 用vim编辑器编辑my_script文件,内容如下:

#!/bin/bash           告诉shell使用什么程序解释脚本
#My first script
ls -l .*

2.允许Shell执行它

chmod 755 my_script

 

3.执行my_script脚本

./my_script

总结

以上所述是小编给大家介绍的Linux自动删除n天前日志,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 使用squid搭建http和https的代理服务器设置指南

    使用squid搭建http和https的代理服务器设置指南

    今天小编就为大家分享一篇关于使用squid搭建http和https的代理服务器设置指南,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 详解Linux中关于引号的那些事

    详解Linux中关于引号的那些事

    这篇文章主要给大家介绍了关于Linux中关于引号的那些事,文中详细介绍了关于引号、单引号和双引号、引用单个字符以及反斜杠的其他使用技巧等的相关内容,介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 怎样给centos系统扩展磁盘分区的实现方法

    怎样给centos系统扩展磁盘分区的实现方法

    这篇文章主要介绍了怎样给centos系统扩展磁盘分区的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 无法启动Apache的问题解决方法

    无法启动Apache的问题解决方法

    这篇文章主要介绍了无法启动Apache的问题解决方法,需要的朋友可以参考下
    2014-05-05
  • Centos搭建GTK+Codeblock完整版

    Centos搭建GTK+Codeblock完整版

    刚搭建完成一个程序用的软件。把自己在搭建时步骤写下来,省的在搭建的时候走弯路,找资料。
    2010-02-02
  • 详解Ubuntu16.04下Hadoop 2.7.3的安装与配置

    详解Ubuntu16.04下Hadoop 2.7.3的安装与配置

    本篇文章主要介绍了详解Ubuntu16.04下Hadoop 2.7.3的安装与配置,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • linux创建线程之pthread_create的具体使用

    linux创建线程之pthread_create的具体使用

    这篇文章主要介绍了linux创建线程之pthread_create的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Mysql常用命令 详细整理版

    Mysql常用命令 详细整理版

    MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
    2010-12-12
  • Linux系统下如何挂载FAT32的U盘

    Linux系统下如何挂载FAT32的U盘

    Linux挂载U盘步骤如下: 1:将U盘插入USB接口,检查是否插好 2:用fdisk命令检查分区和USB设备信息
    2013-04-04
  • 在 Linux 上锁定虚拟控制台会话的实现方法

    在 Linux 上锁定虚拟控制台会话的实现方法

    这篇文章主要介绍了在 Linux 上锁定虚拟控制台会话的实现方法,Vlock 对于有多个用户访问控制台的共享 Linux 系统特别有用,文中给大家提到了vlock的安装方法,需要的朋友可以参考下
    2018-11-11

最新评论