服务器之家

服务器之家 > 正文

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

时间:2021-11-15 16:57     来源/作者:pangfc

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

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

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

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

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

?
1
2
3
4
5
[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"

③给脚本添加执行权限:

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

④添加定时任务:

?
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 这个脚本

⑤查看定时任务:

?
1
[root@app05 logs]# crontab -l

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部