这几天打算把日志同步到服务器上,用以下脚本跑定时:

#!/bin/bash 

#

IP=`ifconfig |grep "inet addr:"|cut -d: -f2|awk '{print $1}'|grep -v 127.0.0|head -1`


find  /opt/ats/var/log/trafficserver  -mtime -1 -name "squid.log_*" -exec  bzip2 -k {}   \;


[ ! -e /home/log_backup ] && mkdir  -pv /home/log_backup


[ ! -e /home/ats_log ] && mkdir  -pv /home/ats_log


mv /opt/ats/var/log/trafficserver/*.bz2   /home/log_backup  &>/dev/null


find  /opt/ats/var/log/trafficserver  -mtime -7 -name "squid.log_*" -exec  mv  {} /home/ats_log/  \;


rsync  -avz --password-file=/etc/rsync.passwd123  --port 8738 /home/log_backup/ rsync@10.10.10.1::log/$IP/


if [ $? -eq 0 ];then

rm  /home/log_backup/*  -rf

fi


发现同步过去的文件一直停留在/home/log_backup/目录下,手动跑的时候又可以正常放在/home/log_backup/下对应的ip目录下,一怒之下把ip写死,让IP=具体节点ip ,问题解决,具体原因,有待深究

ps:$?无法判断文件是否传完,具体判读方法有待深究,打个tag