这几天打算把日志同步到服务器上,用以下脚本跑定时:
#!/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
本文转自biao007h51CTO博客,原文链接:http://blog.51cto.com/linzb/1841083 ,如需转载请自行联系原作者