Tampaknya server Raspberry Pi saya kehilangan koneksi wifi setelah waktu acak dan entah bagaimana tidak dapat pulih secara otomatis.
Biasanya reboot yang dilakukan dengan tangan menyelesaikan masalah.
Saya ingin membuatnya reboot secara otomatis jika tidak ada wifi setelah sekitar 30 menit. Bagaimana saya bisa melakukan itu?
wifi
raspberry-pi
raspbian
reboot
penjepit
sumber
sumber
Jawaban:
Ini pada dasarnya adalah jawaban Warwick, hanya dengan instruksi langkah demi langkah.
Buat skrip shell berikut di folder rumah Anda:
check_inet.sh
Ubah izin agar dapat dieksekusi
Edit
/etc/crontab
menggunakansudo
dan tambahkan baris berikut (gantiyourname
dengan nama pengguna Anda yang sebenarnya):sumber
Salah satu caranya adalah dengan meletakkan entri di cron root yang menjalankan skrip setiap 30 menit. Script akan menguji koneksi WIFI, mungkin menggunakan
ping
, dan menulis hasilnya ke file di / tmp - 1 untuk koneksi ada, 0 jika tidak. Iterasi skrip selanjutnya akan memeriksa file itu, dan jika 0, dan koneksi WIFI masih buruk, jalankaninit 6
perintah.sumber
Saya pikir solusi hololeap bekerja.
Solusi saya memeriksa setiap N menit (tergantung pada bagaimana Anda mengkonfigurasi crontab Anda) untuk koneksi jaringan yang berfungsi. Jika cek gagal saya tetap melacak kegagalan. Ketika jumlah kegagalan> 5 saya mencoba untuk me-restart wifi (Anda juga dapat me-reboot Raspberry jika wifi restart gagal, periksa komentar).
Berikut ini repo GitHub yang selalu berisi versi terbaru dari skrip: https://github.com/ltpitt/bash-network-repair-automation
Di sini, sesuai dengan kebijakan umum stackexchange (semua jawaban tidak boleh hanya berisi tautan), juga file network_check.sh, salin dan tempel ke folder apa pun yang Anda suka, instal petunjuk ada di komentar skrip.
sunting 1/26/2018: Saya telah menghapus file temp untuk membiarkan skrip berjalan dalam memori dan menghindari penulisan pada kartu SD Raspberry.
sumber
ifdown
danifup
, mungkin memperbaiki jaringan, dan mungkin tidak. ... ... ... ... ... ... ... "..." ... "..." ... "..." ... "" ... "" ... "" Jika saya salah paham, tolong jelaskan kepada saya. … (Lanjutan)Saya memodifikasi skrip Pitto untuk gateway multitech mtac loraWAN saya (tidak ada masalah). Saya juga menambahkan file log.
sumber
ifupdown
jika Anda tidak menggunakannya? (2) Mengapa Anda berubahgateway_ip
dari variabel ke konstanta hard-coded?network_check_tries_file
file (ketikaping
gagal), itu tidak menambahnetwork_check_tries
variabel. … (Lanjutan)network_check_tries
sama dengan 0, 1, 2, 3, 4, 5, dan 6 - dan hanya pada permohonan ketujuh (network_check_tries
sama dengan 6)if [ "$network_check_tries" -gt 5 ]
tes berhasil. Bisa dibilang, ini adalah perilaku yang benar. Sejauh yang diketahui skrip, jaringan mungkin sudah mati di 00:04:59, jadi butuh tujuh kegagalan berturut-turut untuk memastikan Anda telah menempuh periode 30 menit. … (Lanjutan)