之前实现了Pi下一对一文件的传送 现在要实现多个Pi相互传送文件并且不接受重复文件则需要知道一些有关MD5的知识
下面的代码建立在前几篇博客的基础上 上面有相关链接
#!/bin/sh
zero=0
one=1
sudo python receive.py & #处于不断接受数据的状态
while true
do
sudo python send.py
sendmd5=`md5sum send.txt | cut -d' ' -f1` #获取发送自己文件的MD5值
receivemd5=`md5sum receive.txt | cut -d' ' -f1` #获取自己临时接受文件的MD5值
while read myline
do
if [ "$sendmd5" = "$myline" ] #判断文件是否更新
then
flag=1
break
fi
done<md5.txt
if [ "$flag" = "$zero" ]
then
echo "$sendmd5">>md5.txt #新文件则保存新MD5值
sudo python copymyself.py #同步自身文件
fi
flag=0
while read myline
do
if [ "$receivemd5" = "$myline" ] #同上
then
flag=1
break
fi
done<md5.txt
if [ "$flag" = "$zero" ]
then
echo "$receivemd5">>md5.txt #同上
sudo python copydata.py #同上
fi
sudo python clear.py
flag=0
sleep 6
done