高效的Linux日志文件传输:rsync


统计分析程序常常需要将线上的日志文件传输到某个地方进行统计,其中很多都是用rsync进行传输。

然而rsync传输文件,文件校验是比较耗cpu的操作,如果多个客户端同时向一台服务器传文件,可能造成服务器cpu负荷过重。

针对日志文件的特点,www.bkjia.com一般只是在文件末尾追加内容,这样可以用rsync 的 --append参数,将极大的减少cpu负荷。

 PARA=" -at --append  --progress  "

RSYNCMOD="rsync模块"

rsync_file()
{
    F=$1
    IP=$2
    DDIR=$3
    echo "开始拿取${IP}的日志"
    #先检查文件是否存在
    RESULT=` /usr/local/bin/rsync --list-only $IP::$RSYNCMOD | grep $F `
    if [ "$RESULT" = "" ] ; then
        #文件不存在
        echo "${IP}上文件${F}不存在"
    else
        #文件存在
         /usr/local/bin/rsync  $PARA  $IP::$RSYNCMOD/$F  $DESDIR/$DDIR/$F
    fi   
}

相关内容