Linux:RSync实现文件备份同步图解及代码

目录:

1、需求

2、图解

3、代码

备注:参考RSync命令
http://blog.csdn.net/silentwolfyh/article/details/54613941



1、需求:

将Nginx文件从采集服务器同步到CDH服务器,最后放入Flume监控目录

2、图解

这里写图片描述

3、代码

[root@xiaohui nginx_log]# cat get_file_test.sh
cd /home/nginx_log
cd data/
#本地同步之前文件名称
ls *_2017*.tar.gz | sort > ../L.txt  
cd -

echo '' > rsync_result.log
#远程服务器数据和本地服务器数据对比,差异的文件名称放入rsync_result.log  
rsync -av --exclude="*2016*.tar.gz" --exclude="*.MD5" 192.168.1.1::donews_nginx_log data/ > rsync_result.log  

#判断同步是否结束,出现total为同步完成
res=`cat ./rsync_result.log|grep total|wc -l`   
while [ $res -le 0 ];do
sleep 5s
res=`cat ./rsync_result.log|grep total|wc -l`
done

cd data/
#本地同步之后文件名称
ls *_2017*.tar.gz | sort > ../R.txt   
cd -
#最新同步之后的文件名称对比,差异的文件名称放入D.txt 
diff ./L.txt ./R.txt |grep "tar.gz"| awk '{print $NF}' > ./D.txt   

#循环解压文件,将域名加入文件开头 
for f in `cat ./D.txt`
do 	
nf=${f::-7}              
tar -zxvf ./data/$f -C ./unzip_dir/
replace_name=`echo $f |awk -F"_" '{print $1}'`
sed -i "s/^/$replace_name &/g" ./unzip_dir/$nf
done

#将解压之后的文件移至Flume检测目录
for d in `cat ./D.txt`
do
nf=${d::-7}
mv ./unzip_dir/$nf /home/flumeSpool
done

北京小辉微信公众号

在这里插入图片描述

大数据资料分享请关注
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北京小辉

你的鼓舞将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值