rsync 同步shell并邮件发送错误信息

同步log文件,并错误发送邮件

(要求将/var/log/logbak/下的log文件同步到192.168.0.111上对应的目录并发送错误报告,注意:此处log文件是以日期命名的,例如:13011105-xxx.log,日期等同于date -d -1hour +%y%m%d%H )

#!/bin/bash

if [ -z $1 ]
then
DATE=`date -d -1hour +%y%m%d%H`
srcdir="/var/log/trackerlogs/${DATE}-who"
else
DATE=`date -d -$1day +%y%m%d`
srcdir="/var/log/logbak/${DATE}"
fi

echo > /tmp/Rsync_status.txt

#Synchronization

function Sync()
{
 echo "Sync $1 ...... Starting"
 Host="$1"
 rsync -vzrtopg --password-file=/etc/rsyncd.log_59 ${srcdir}* 
backup@${Host}::log_59 >>/tmp/Rsync_status.txt 2>&1
  if [ $? -eq 0  ]
 then
 echo "Sync $1 ...... [OK] " |tee -a /tmp/Rsync_status.txt
 else
 echo -e "\033[1;31;40mSync $1 ...... [FAILED] \033[0m" |tee -a /tmp/Rsync_status.txt
        mail -s "59FAILED" 
xx@qq.com -c xx1@qq.com -c xx2@qq.com -c xx3@qq.com </tmp/Rsync_status.txt
 fi
}
Sync 192.168.0.111

wait
echo END
echo -----------------------------

 

 

(输入起始和结束日期,将/var/log/logbak/下的log文件同步到192.168.0.111对应目录并发送错误报告,注意:此处log文件是以日期命名的,例如:13011105-xxx.log

#!/bin/sh
echo -n "Enter the start time(for example:20130101):"
read start_time
echo -n "Enter the end time(for example:20130102):"
read end_time
startDate=$start_time
endDate=$end_time
startSec=`date -d "$startDate" "+%s"`
endSec=`date -d "$endDate" "+%s"`
echo ""
echo "........................................."
echo "now,we will sync the log form $start_time to $end_time"
echo "........................................."
sleep 1
function check_syncstatus()
{
if [ $? -eq 0  ]
 then
 echo "Sync  ...... [OK] " |tee -a /tmp/Rsync_status.txt
 else
 echo -e "\033[1;31;40mSync $1 ...... [FAILED] \033[0m" |tee -a /tmp/Rsync_status.txt
        mail -s "59FAILED" 
xx@qq.com -c xx1@qq.com -c xx2@qq.com -c xx3@qq.com </tmp/Rsync_status.txt
 fi
}
for((i=$startSec;i<=$endSec;i+=86400));
   do    
   data=`date -d "@$i" "+%y%m%d"`
   for tm in $data
   do
   rsync -vzrtopg --password-file=/etc/rsyncd.log_3 /var/log/logbak/$tm*
backup@192.168.0.111::log_3
   check_syncstatus
   done
 done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值