前言介绍
有一台服务器服务是部署在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启动报错
右键 C:\publish
进入 属性>安全, "添加"用户, 输入对象名称为SvcCWRSYNC, 并将SvcCWRSYNC的权限设置为 所有都允许。重新启动 cwRsyncServer
评论 (0)