原帖由
greendays 于 2009-6-5 09:49 发表
3. 日志切分在运维中扮演着重要角色,日志切换工具通常从一个管道文件读取日志内容,并以小时、或天、或星期等单位将日志内容保存到不同的文件中。请使用任意脚本实现一个简单的日志切分工具。
该工具的调用参 ...
#!/bin/sh
usage="$0 "
if [ $# -ne 3 ]; then
echo "$usage"
exit -1
fi
logPath=$1
savePath=$2
format=$3
if [ ${logPath:0:1} != "/" -a ${savePath:0:1} != "/" ]
then
echo "--path must begin with /."
exit -1
fi
if [ ! -d "$logPath" ]; then
echo "--path $logPath is not exists."
exit -1
fi
if [ ! -d "$savePath" ]; then
mkdir -p $savePath
fi
tmpFormat=${format//%/ %}
for tmp in $tmpFormat;do
if [ $(man date|grep "^ *$tmp"|wc -l) -lt 1 ]; then
echo "--not support date format $tmp"
exit -1
fi
done
find $logPath -mtime -1 -type f -name "*.log"|while read file
do
logFile=${file##*/}
tail -f $logPath/$logFile |cat >>$savePath/$logFile.$(date +$format) &
done 2>/dev/null