5.7 Mbps (power of ten bps is proper network context) and N number of open connections (which you don't show) is enough traffic to lockup incapable hardware like some DSL and other cheap routers and intermediate devices.
You first need to determine if the DSL link itself is truly down and for how long so if it affect tor's auto recovery, or if it's the DSL box choking, or if it's whatever else you have in your custom setup. Turn up logging and see what's going on each hardware. See what the kernel and tor daemon is saying, search all the messages. Dig in and find out what and why exactly. Then you can learn and fun to fix or design a solution that works. There is no magic "script", and not enough info provided for one other than some silly thing like
/etc/rc.local: ( sleep 86400 ; reboot ; ) & or while : ; do sleep 900 ; ping google || reboot ; done