天天看点

rsync在crontab定时中的一个小问题

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

#!/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/ [email protected]::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 ,如需转载请自行联系原作者