当前位置:  技术问答>linux和unix

请大牛帮忙解答shell的意思

    来源: 互联网  发布时间:2017-05-07

    本文导语:  首先是crontab的意思 0 3 1 * * /root/scripts/sweep_apache_log > /root/logs/sweep_apache_log.log 2>&1 然后是sweep_apache_log的内容了 # define saving days SAVING_DAYS=90 # define log directory LOG_DIR=/var/log/httpd ACCESS_PREFIX='access.' ERROR_PREFIX='...

首先是crontab的意思


0 3 1 * * /root/scripts/sweep_apache_log > /root/logs/sweep_apache_log.log 2>&1


然后是sweep_apache_log的内容了


# define saving days
SAVING_DAYS=90

# define log directory
LOG_DIR=/var/log/httpd
ACCESS_PREFIX='access.'
ERROR_PREFIX='error.'
LOG_SUFFIX='.log'

# compose archive file name
lastmonth=`date +%Y%m -d '2 months ago'`

for prefix in $ACCESS_PREFIX $ERROR_PREFIX ; do
        arcfile=${LOG_DIR}/${prefix}${lastmonth}.log

        # already archived?
        if [ -f ${arcfile} ]; then
                gzip -9 ${arcfile}
                echo 'logs are already archived, but they are not compressed'
                continue
        fi
        if [ -f ${arcfile}.gz ]; then
                echo 'logs are already sweeped'
                continue
        fi

        # ok, trying to cat them and then gzip it
        cat ${LOG_DIR}/${prefix}${lastmonth}*${LOG_SUFFIX} > ${arcfile}
        gzip -9 ${arcfile}

        # delete individual logs
        rm -f ${LOG_DIR}/${prefix}${lastmonth}*${LOG_SUFFIX}

# end of for
done

# delete old archive files
find ${LOG_DIR} -type f -name '*.gz' -mtime +${SAVING_DAYS} -exec rm -f {} ;

# EOF


我大概知道这个是来删除过期的log文件的,可是具体就不知道是怎么一个流程了,希望大牛帮忙解答
万分感谢!

|
# define saving days
SAVING_DAYS=90

# define log directory
LOG_DIR=/var/log/httpd
ACCESS_PREFIX='access.'
ERROR_PREFIX='error.'
LOG_SUFFIX='.log'

# compose archive file name
# 获取两个月之前的月份,比如 201311
lastmonth=`date +%Y%m -d '2 months ago'`

# 处理 Apache 的 access log 和 error log
for prefix in $ACCESS_PREFIX $ERROR_PREFIX ; do
        # 设置归档日志的名字,比如 access201311.log
        arcfile=${LOG_DIR}/${prefix}${lastmonth}.log

        # already archived?
        if [ -f ${arcfile} ]; then
                # 对于已经做过归档的日志,直接进行压缩
                gzip -9 ${arcfile}
                echo 'logs are already archived, but they are not compressed'
                continue
        fi
        if [ -f ${arcfile}.gz ]; then
                echo 'logs are already sweeped'
                continue
        fi

        # ok, trying to cat them and then gzip it
        cat ${LOG_DIR}/${prefix}${lastmonth}*${LOG_SUFFIX} > ${arcfile}
        gzip -9 ${arcfile}

        # delete individual logs
        rm -f ${LOG_DIR}/${prefix}${lastmonth}*${LOG_SUFFIX}

# end of for
done

# delete old archive files
find ${LOG_DIR} -type f -name '*.gz' -mtime +${SAVING_DAYS} -exec rm -f {} ;

# EOF

|

0 3 1 * * /root/scripts/sweep_apache_log > /root/logs/sweep_apache_log.log 2>&1

crond进程会在每个月的1号凌晨3点执行sweep_apache_log

sweep_apache_log脚本前面部分是对超过2个月的访问日志和错误日志使用gzip打包,最后部分是删除打包超过90天的日志

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 半路出家转行学编程如何才能成为大牛?
  • 呼唤大牛,大牛降临护乎!!!(linux,开启进程问题)
  • 求大牛们赐教!
  • 请大牛指导程序思路
  • 难道csdn没有gstreamer大牛?
  • EJB这么火,决定开始学习,请各位大牛指教,初学该看什么书?
  • 首先,这不是个问题,是个总结。(弱智型的。大牛们不要笑话俺)
  • 内核编译时出错,请大牛们帮忙解答下 iis7站长之家
  • 请教版上大牛~
  • 安装net-snmp时遇到问题了,请大牛们指导
  • [求助大牛]如何将连续的多个空格换成tab?
  • [跪求大牛]硬盘有点泄露了。。。
  • 求shell大牛指点
  • 请教各位大牛一个makefile的问题
  • linux下采集视频数据的相关问题,是大牛就进来吧~~
  • 请大牛帮忙,shell脚本的问题
  • 有关Ubuntu的问题,请大牛指点(内详)
  • linux的图形界面为什么没有命令行重要呢,大牛们帮我解惑吧
  • linux大牛来救!HTTP服务器配置文件directory容器中options参数怎么一回事?
  • 请教各位大牛~~那个系统调用open()创建的是什么类型的文件?
  • !!请各位大牛帮忙了,在linux下提取系统时间的话,用什么方法能提取到比毫秒更精确的时间呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,