/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