Cara Cek dan Restart Service Secara Otomatis di VPS

  • -
cara otomatis restart service centos 7

Cara Cek dan Restart Service Secara Otomatis di VPS

Last updated on

Dalam beberapa kasus tertentu, tak jarang kita menemui tiba-tiba salah satu service (misal: apache, nginx, mysql dan lain-lain) tiba-tiba down atau berhenti karena beberapa hal sehingga menyebabkan aplikasi atau website kita down dan tidak bisa diakses.

Banyak hal yang menyebabkan mengapa service tersebut menjadi down di antaranya adalah karena adanya traffic yang besar atau overload di server. Tentu saja, cara terbaik untuk menyelesaikan hal ini adalah dengan cara melakukan debugging dan solve root issuenya. Namun, karena belum menemukan root issue atau belum mengetahui solusinya, maka tak jarang kita harus mengaktifkan service-service tersebut secara manual.

Cara Mengaktifkan Service Yang Down Manual

Mengaktifkan service yang down sangatlah sederhanya yaitu dengan cara melakukan start atau restart pada service tersebut. Sebagai contoh, jika kita ingin mengaktifkan service apache pada CentOS 7, maka kita bisa menjalankan perintah:

systemctl start httpd

atau bisa juga dengan

systemctl start apache2

Untuk mysql, kita juga bisa mengaktifkannya dengan cara menjalankan perintah:

systemctl start mysql

Dan seterusnya. Namun, cara tersebut harus kita lakukan dengan login ke server dan menjalankannya secara manual sehingga tak jarang akan menjadi masalah tersendiri jika kita tidak sedang berada di depan laptop atau komputer kita.

Mengaktifkan Service Yang Down Secara Otomatis

Untuk mengaktifkan service secara otomatis, kita dapat menggunakan bantuan cron dengan cara mengecek status service tersebut setiap menit atau periode tertentu sesuai kebutuhan kita dan kemudian mengaktifkan service tersebut jika down.

Untuk melakukannya, jalankan perintah berikut untuk membuat cron baru:

crontab -e

Selanjutnya, tambahkan baris perintah berikut:

* * * * * systemctl status httpd > /dev/null || systemctl start httpd

Contoh di atas maksudnya adalah kita akan mengecek setiap menit status dari service apache (httpd) dan jika down, maka sistem akan mengaktifkan service httpd atau apache tersebut.

Jika ingin mengubahnya menjadi lima (5) menit sekali, maka kita dapat mengubahnya menjadi:

*/5 * * * * systemctl status httpd > /dev/null || systemctl start httpd

Perintah || (OR) maksudnya adalah jika status httpd down atau failed atau nilainya di atas 0, maka perintah selanjutnya yaitu start httpd akan dilanjutkan.

Perintah ini berkebalikan dengan && yang hanya akan mengeksekusi perintah selanjutnya jika perintah yang pertama nilainya di atas 0 atau dalam kasus ini berhasil di eksekusi.

Mudah bukan, dengan begitu harapannya kita tidak perlu panik jika tiba-tiba mysql atau apache kita down secara reguler.

Semoga bermanfaat.


× Ada yang ditanyakan?