This bash script checks for ethernet/wireless internet connection and, if it is failing, tries to fix it.
- Download and install requirements:
sudo apt-get install ifupdown fping -y
-
Clone (or download) this repo locally:
git clone https://github.com/chrisleekr/bash-network-repair-automation.git
-
Edit your root user's crontab:
sudo crontab -e
-
This line will execute the check every minute. Please customize the script path according to the folder where you cloned the repo:
* * * * * /yourpath/network_check.sh
*/5 * * * * /yourpath/network_check.sh >> /var/log/network_check.log 2>&1
-
If you also want to reboot in case wifi is not working after the fix uncomment the required lines in the code (you'll find a detailed explanation in the script comments):
nano network_check.sh
-
If you want to perform automatic repair fsck in case of reboot (this is the last possible recovery action) remember to uncomment fsck autorepair editing rcS with the following command:
sudo nano /etc/default/rcS
If you want to add push or email notifications when your network is restored please check my other repo, Simple Notifications
- 0.0.3
- Updated to support different interface
- 0.0.2
- Refactored in order to remove tmp files and preserve Raspberry's SD card
- 0.0.1
- First working version using tmp files to keep count of the network check retries
Original Author: Davide Nastri – @pitto – d.nastri@gmail.com
Distributed under the GPL license. See LICENSE
for more information.
Bash Wifi Network Repair Script
- Fork it (https://github.com/ltpitt/bash-network-repair-automation/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request