Linux下服务器日志清理

之前在做一个项目,服务器部署在Linux系统下,后来发现服务器运行每天产生大量的日志文件,一个多月产生了60多G的日志文件,消耗巨大的存储空间。后来就想办法让Linux系统自动每天清理7天以前的日志文件。

  实现过程是写一个删除日志的shell脚本。

  解释一下,服务器产生的日志放在/home/webServive/logs路径下。

  使用相关用户登录Linux系统,例如我用的用户是ryan,然后在/home/webServive路径下新建logs.sh脚本,编辑相关shell脚本代码,如下所示。此处的角标表示的是你在此服务器下部署的应用数量,我这里是三台;

#!/bin/bash
logs_paths[0]="/home/webServive/logs"
logs_paths[1]="/home/webServive/logs
"logs_paths[2]="/home/webServive/logs"

     for logs_path  in ${logs_paths[@]};
   do
        find $logs_path -mtime +7 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
        find $logs_path -mtime +7 -name "catalina.*.log" -exec rm -rf {} \;
        find $logs_path -mtime +7 -name "manager.*.log" -exec rm -rf {} \;
        find $logs_path -mtime +7 -name "host-manager.*.log" -exec rm -rf {} \;
        find $logs_path -mtime +7 -name "localhost.*.log" -exec rm -rf {} \;
     #备份日志
        cp   $logs_path/catalina.out  $logs_path/catalina.`date +%Y-%m-%d`.log
        #清空日志 
      cat /dev/null > $logs_path/catalina.out
    echo $logs_path
done

以上是脚本内容;
保存文件;

授权
chmod 777 /home/logs.sh


加载定时
crontab -e
30 23 * * * sh /home/logs.sh                                              注:此处的时间是每天23点30分定时清理


重启定时文件
service crond restart  



https://www.cnblogs.com/lzhryan/articles/6888128.html      此网址是网上所找,大家可以借鉴;

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值