天天看點

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 ,如需轉載請自行聯系原作者