Skip to main content

Cara Memulai Ulang Otomatis Perintah di Terminal Jika Terjadi Error

Saya mendapatkan permasalahan error ketika menjalankan node server yang disebabkan module yang crash juga tidak dapat ditemukan solusi kemudian membuat web server terhenti. Untuk menyelesaikan kasus ini saya menggunakan script bash dengan perulangan until. 


Apa itu bash?

Bash adalah shell Unix dan bahasa perintah yang ditulis oleh Brian Fox untuk Proyek GNU sebagai pengganti perangkat lunak gratis untuk shell Bourne. Bash di distribusikan pertama pada tahun 1989 selanjutnya digunakan secara luas pada Linux dan Apple MacOS.


Contoh Dasar Syntax Until Pada Bash

Berikut contoh shell bash dasar untuk menjalankan perintah ulang otomatis ketika mengalami kesalahan.

#!/bin/bash

until contoh_perintah_cli
do
    echo "Restarting"
    sleep 2
done

Perlu diperhatikan bahwa untuk setiap akhir perintah harus diakhiri dengan ‘;’ atau bisa juga dengan baris baru. Untuk mengidentifikasi bahwa file tersebut merupakan skrip bash maka perlu ditambahkan #!/bin/bash. Simpan perintah syntax dengan start.sh atau sesuai selera kamu.

Fungsi kegunaan

  1. Until: Merupakan salah satu jenis perulangan pada script bash.
  2. Do: Memulai perulangan
  3. Echo: Membuat teks pada terminal.
  4. Sleep: Memberi jeda atau delay proses eksekusi perintah pada perulangan berikutnya dalam bentuk detik.
  5. Done: Menandakan akhir dari perulangan atau sebagai penutup do.

Cara Kerja

Pertama akan menjalankan echo atau perintah didalam do selama perintah contoh_perintah_cli memiliki status keluar yang bukan nol. Status pengembalian adalah status keluar dari perintah terakhir yang dieksekusi dalam perintah didalam do, atau akan keluar nol jika tidak ada yang dieksekusi.


Contoh Penggunaan

Menerapkan dari contoh dasar shell bash. Dibawah ini merupakan contoh penggunaan script bash untuk menghandle kesalahan dibeberapa bahasa pemrograman termasuk nodejs, php, dan python.

Script Bash Untuk Otomatis Memulai Ulang Node Server

Server nodejs biasanya terhenti karena banyak faktor mulai Uncaught exception atau error event di kode Javascript, penggunaan memori yang berlebihan juga berpengaruh, yang dapat mengakibatkan kesalahan kehabisan memori, terlalu banyak menggunakan looping, serta masih banyak lagi. Kami menyarankan menggunakan menyarankan untuk mencoba menggunakan pm2, nodemon, atau foreverjs terlebih dahulu untuk membuat server nodejs tetap uptime.
#!/bin/bash

until npm start;
do
    echo "Restarting node";
    sleep 2;
done

Script Bash Untuk Otomatis Memulai Ulang PHP Server

Ketika menjalankan server php dengan perintah php -S localhost:8000 server web akan aktif. Tidak seperti nodejs server PHP ketika mengalami kesalahan seperti warning error, notice error, parse error dan fatal error web server tidak akan berhenti. Faktor penyebab terhentinya biasanya karena terlalu banyak permintaan yang masuk sehingga server tidak mampu memprosesnya. Jika anda tidak menggunakan nginx atau apache untuk mengatasi hal itu bisa menggunakan script dibawah ini.

#!/bin/bash

until php -S localhost:8000;
do
    echo "Restarting PHP";
    sleep 2;
done

Script Bash Untuk Otomatis Memulai Ulang Python Server

Python dikenal sebagai bahasa pemrograman yang mengusung konsep sederhana juga ramah pengguna. Python banyak digunakan untuk membuat berbagai macam aplikasi, seperti aplikasi berbasis CLI, aplikasi desktop, aplikasi mobile, web, game, dan sebagainya. Ada banyak cara untuk membuat server python agar tetap uptime. Kami menyediakan versi bash yang membuat http server python bisa terus diakses.

#!/bin/bash

until python -m http.server 4000;
do
    echo "Restarting Python";
    sleep 2;
done

Untuk penyelesaian dalam kasus lainnya bisa disesuaikan.


Cara Menjalankan Script Bash

Menjalankan shell bash sama saja untuk semua sistem operasi windows bahkan linux. Bisa langsung dijalankan tanpa memasang aplikasi terlebih dahulu. Shell bash sudah tertanam sejak pertama melakukan instalasi operasi sistem.

  • di Windows: buka cmd sebagai Administrator > sh start.sh
  • di Linux: Buka terminal > sudo sh start.sh
  • di MacOs: Buka terminal > sudo sh start.sh

Jika ingin belajar lebih dalam tentang bash script kamu mempelajarinya di dokumentasi bash script di situs resminya. https://devdocs.io/bash/


Kesimpulan

Adapun kegunaan dari script bash tersebut, digunakan untuk menjaga webserver agar tetap aktif 24 jam. Ini merupakan solusi terakhir setelah tidak bisa memperbaiki kesalahan. Tidak hanya itu masih banyak fungsi lainnya dari shell bash yang dapat dipakai untuk kebutuhan terntentu. 

Itulah beberapa yang dapat diterapkan dalam mengatasi permasalahan ada error server down. Jika ada kesulitan yang ditemukan kamu bisa bertanya melalui kolom komentar.

Kata Kunci Terkait:

  • Lewati Error Perintah di Terminal
  • Automatic restart nodemon when error
  • Forever
  • PM2
  • NPM auto start

You may like these posts

Komentar