两机rsync定时单向只增同步
事出有因
- 老房子装修没布网线,远在北卧192.168.1.128(wifi连接)是娃的网课机,需要播放音视频及office文档;该机wifi连接不算可靠(一堵大量钢筋砖混承重,一堵普通轻体),好的时候24Mbps,偶发连接不稳定的时候会断开;而路由器已经更新为口碑产品Netgear R6700
- 另有树莓派192.168.1.127(有线LAN,可靠连接)作为7×24文件服务器,用于从ddns接收外来课件,并对1.128提供文件共享服务
问题澄清
- 课件播放过程中,偶发wifi信号问题导致卡顿
问题思路
- 由于wifi中断为偶发,大部分情况下连接OK
- 采取让1.128机器定时(每1小时)去1.127机器同步课件的思路
- 前者存储大(HDD),后者小(TF),设计为单向同步;后者新增,前者同步,后者删除,前者保留
具体实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/usr/bin/bash echo `date` FILE_SERVER=192.168.1.127 ping -c 3 -w 5 $FILE_SERVER # ping不通则不进行同步(说明1.127未连接) if [[ $? != 0 ]];then echo " target is offline! " exit 1 fi pidof rsync # 如果正在同步,则不开启新的同步 if [[ $? == 0 ]];then echo " rsync is still working! " exit 2 fi echo "server ok, start transmission... " rsync -uavzP --exclude=".*" pi@$FILE_SERVER:/share/documents '/home/py27/documents/learnings' exit 0 |
测试以上脚本工作ok后,将其加入crontab,每小时定时执行
1 2 |
py27@py27-vince:~$ crontab -l 0 */1 * * * /home/py27/scripts/rsync_learnings.sh > /tmp/rsync_learnings.log 2>&1 |
后续计划
- 观察课件同步效果,有问题检查log,总之能用技术解决的问题,就别给人找事干
- 目前wifi网卡为Intel AC9260 M.2,两根8dBi天线;有空可以考虑升级到带延长线的磁性吸盘12dBi天线,增强wifi稳定性
文章的脚注信息由WordPress的wp-posturl插件自动生成