永发信息网

怎样写shell脚本,定期执行删除centos5.6中Apache的log系统日志文件. 只保留最近2个?

答案:2  悬赏:40  手机版
解决时间 2021-01-03 12:08
  • 提问者网友:贪了杯
  • 2021-01-02 16:57
我的centos5.6系统Apache的log系统日志文件. 现在设置为每4小时 生成一个文件,路径格式是 /var/log/httpd/error_log.2011101200 想只保留最近2个日志文件.用什么方式?怎样写shell脚本,定期执行删除其余日志文件
最佳答案
  • 五星知识达人网友:醉吻情书
  • 2021-01-02 17:06
首先,写个脚本命名为rm_apache_errlog.sh

#!/bin/sh
find /var/log/httpd/error_log.* -ctime +480 -exec rm -rf {} \;
crontab -e编辑计划任务每4小时执行一次
* */4 * * * /bin/sh /pathto/rm_apache_errlog.sh
全部回答
  • 1楼网友:七十二街
  • 2021-01-02 18:44

下面写入一个脚本文件

#!/bin/bash

mkdir /var/log/httpd/backup

for i in `find /var/log/httpd/  -name error* -ctime  8  -print  `

do

   mv $i /var/log/httpd/backup

   rm -f /var/log/httd/error_log*

   sleep  28800    #8小时

   rm -f /var/log/httpd/backup/*

done

chmod a+x 这个文件

./这个文件  &    #加个&是后台运行着.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯