当前位置 : 主页 > 操作系统 > centos >

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

来源:互联网 收集:自由互联 发布时间:2022-06-20
如题所示,生产服务器每天会产生很大的日志文件,为了不使硬盘被日志文件塞满,因此需要定期清理日志文件。这时我们可以写一个shell脚本用来清理某个路径下45天以前的日志,然后

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

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

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

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

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

[root@prx01 cleanlog]# vim /usr/local/cleanlog/del_all_OldLogs.sh#!/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)给脚本添加执行权限:

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

(4)添加定时任务:

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

添加以下内容:

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

注:

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

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

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

    (5)查看定时任务:

    [root@app05 logs]# crontab -l


    上一篇:CentOS 7 忘记root密码的解决之道
    下一篇:没有了
    网友评论