/opt/shells/test.sh

#!/bin/bash
LOCAL_DIR=/nas/bakup/disk
REMOTE_DIR=/data/bak/disk_w_bak
RIP="114.114.114.114"
RPORT=22
REXE="ssh -p $RPORT $RIP"

for file in `$REXE ls $REMOTE_DIR`;do
    if [ -f $LOCAL_DIR/$file ];then
        md5_local=`md5sum  $LOCAL_DIR/$file  |awk '{print $1}'`
        md5_remote=`$REXE md5sum  $REMOTE_DIR/$file  |awk '{print $1}'`
        if [ $md5_local == $md5_remote ];then
            echo "$file on local already,skip"
        else
            echo "$file broken,clean..."
            rm -rf $LOCAL_DIR/$file
        fi
    else
        echo "Starting bak $file"
        scp -P $RPORT $RIP:$REMOTE_DIR/$file $LOCAL_DIR
        if [ "0" -eq $? ];then
            echo "Delete  $file"
            $REXE rm -rf $REMOTE_DIR/$file
        fi
    fi
done

crontab

#centos
echo "00 */3 * * * /opt/shells/test.sh" >> /var/spool/cron/root

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code