通过rsync同步日志数据-从windows到centos

行云流水
2022-03-07 / 0 评论 / 729 阅读 / 正在检测是否收录...

l0gdmcd9.png

前言介绍

有一台服务器服务是部署在windows下的,平时linux用惯的人,在windows下不会干活了,于是折腾了半天,通过脚本每天将日志同步到centos下去分析。

windows下安装CWRsync并配置

软件下载地址:



安装目录
开始->程序->cwRsyncServer

设置用户名密码

SvcCWRSYNC
RsyncUser123@
RsyncUser123@

编辑 rsyncd.conf 服务配置文件

use chroot = false
strict modes = false

hosts allow = xx.xx.xx.xx
log file = rsyncd.log

[superxpay]
path = /cygdrive/c/publish
read only = yes
transfer logging = yes
uid = 0
gid = 0

启动

centos 安装rsync客户端

端口测试

nc -z -v -w 10 xxx.xxx.xxx.xxx 873 

配置rsync脚本

cd /opt/scripts
#密码文件
echo "RsyncUser123@" > .rsync_user.pwd && chmod 600 .rsync_user.pwd

同步脚本 rsync_log.sh

#!/bin/bash
BACKUP_DIR="/data/superxpay"
[ ! -d $BACKUP_DIR ] && mkdir -p  $BACKUP_DIR
rsync -avz --progress --delete  --password-file=/opt/scripts/rsync_user.pwd SvcCWRSYNC@xx.xx.xx.xx::superxpay  $BACKUP_DIR

手动同步
sh /opt/scripts/sync_log.sh

编码转换脚本 gbk_to_utf.sh

#!/bin/bash
#提取最新日志,转换编码并输出到logs
LOG_DIR='/data/superxpay'
TO='./logs/'


echo "=============update logs================"
#管理后台日志
for f_group in {Manage,User} #多个文件
    do
        for log_level in {Debug,Error,Info} #日志级别
            do
                filename=`ls -l ${LOG_DIR}/ipay88.${f_group}/Log/${log_level} | tail -n 1 | awk '{print $9}'`
                iconv -f GBK -t UTF-8 ${LOG_DIR}/ipay88.${f_group}/Log/${log_level}/${filename} -o ${TO}/${f_group}-${filename}
                echo  ${TO}/${f_group}-${filename}
            done
    done


#管理后台日志
f_group='Web'
for log_level in {Debug,Error,Info} #日志级别
    do
        filename=`ls -l ${LOG_DIR}/iPay88.${f_group}/Log/${log_level} | tail -n 1 | awk '{print $9}'`
        iconv -f GBK -t UTF-8 ${LOG_DIR}/iPay88.${f_group}/Log/${log_level}/${filename} -o ${TO}/${f_group}-${filename}
        echo  ${TO}/${f_group}-${filename}
    done

FAQ

window下rsync启动报错

评论 (0)

取消
只有登录/注册用户才可评论