首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Shell每日定时打包日志文件

2012-12-21 
Shell每天定时打包日志文件该脚本的作用是每天将应用程序目录下的analyzed目录下前一天的日志压缩并保存到

Shell每天定时打包日志文件

该脚本的作用是每天将应用程序目录下的analyzed目录下前一天的日志压缩并保存到archive目录下,目录结构类似archive/2011/02/22.tar.gz

?

添加cronjob

#!/bin/bashif [ $# -eq 0 ]then        echo "Usage: `basename $0` /opt/var/log/prod"        exit $E_BADARGSfiAPP_PATH=$1APP_LIST_FILE=appListANALYZED_FOLDER=analyzedARCHIVE_FOLDER=archiveecho 'App path: '$APP_PATH##Save apps to file>$APP_LIST_FILEls -F $APP_PATH|grep /$ >> $APP_LIST_FILE ##将目标目录下的应用程序名字保存起来##Archive log of apps by dayLAST_DAY_YEAR=$(date -d last-day +%Y)LAST_DAY_MONTH=$(date -d last-day +%m)LAST_DAY_DAY=$(date -d last-day +%d)echo 'Last day: '$LAST_DAY_YEAR$LAST_DAY_MONTH$LAST_DAY_DAYcat $APP_LIST_FILE | while read line; do        CURRENT_APP_PATH=$APP_PATH/$line        echo 'Current app path: '$CURRENT_APP_PATH        mkdir -p "$CURRENT_APP_PATH/$ARCHIVE_FOLDER"        ##Move last day logs        mkdir -p "$CURRENT_APP_PATH/$ARCHIVE_FOLDER/$LAST_DAY_YEAR/$LAST_DAY_MONTH/$LAST_DAY_DAY"        LOG_FILES=$CURRENT_APP_PATH/$ANALYZED_FOLDER/$LAST_DAY_YEAR-$LAST_DAY_MONTH-$LAST_DAY_DAY"*"        mv $LOG_FILES $CURRENT_APP_PATH/$ARCHIVE_FOLDER/$LAST_DAY_YEAR/$LAST_DAY_MONTH/$LAST_DAY_DAY        ##Compress logs        ZIPPED_FILE=$LAST_DAY_DAY".tar.gz"        cd $CURRENT_APP_PATH/$ARCHIVE_FOLDER/$LAST_DAY_YEAR/$LAST_DAY_MONTH        tar czf $ZIPPED_FILE $LAST_DAY_DAY        rm -rf $LAST_DAY_DAYdoneexit 0
?

热点排行