Kadang kita mengeksekusi script bash melalui cron setiap menit sedangkan script tersebut belum menyelesaikan tugasnya.  Yang terjadi script berjalan duplikat dan berkali-kali.

Berikut ini adalah contoh script yang bisa anda gunakan untuk mendeteksi script yang sudah berjalan.

#!/bin/sh

proses=`ps aux | grep namafile.sh | grep -v grep | wc -l`
if [[ $proses -gt 2 ]]; then
        echo "script sudah jalan";
        exit;
fi

Untuk mengujinya silahkan buat misalnya testrun.sh dan dibawahnya tambahkan sleep 30 dengan tujuan agar script tersebut selesai setelah 30 detik.

kira-kira seperti ini

#!/bin/sh

proses=`ps aux | grep testrun.sh | grep -v grep | wc -l`
if [[ $proses -gt 2 ]]; then
        echo "script sudah jalan";
        exit;
fi
#menguji sleep 30 second
sleep 30;

Bukalah beberapa window bash dan jalankan script testrun.sh secara bersamaan, maka yang anda dapatkan adalah sebagai berikut :

[root@script]# ./testrun.sh
script sudah jalan

Pertanyaan yang mungkin muncul adalah mengapa -gt adalah 2 dan bukan 1?

Adapun perhitungannya adalah sebagai berikut :

Ketika testrun.sh berjalan maka terhitung 1 kemudian melakukan pengecekan ps aux dan apabila nilainya 1 maka script yg sedang dijalankan tersebut dianggap telah berjalan dan keluar output “script telah berjalan” yang sebenarnya tidak ada script lain yg berjalan kecuali proses yang saat itu dilakukan.

Demikian dan selamat mencoba.

Konsultasi via WA di 0817-0334-1186
Posting Terkait :
Cara Cepat Menghapus Folder Besar Berisi Banyak File di Linux

Tutorial ini menjelaskan bagaimana cara menghapus folder berukuran besar yang di dalamnya banyak file kecil-kecil di sistem operasi Linux. Alkisah Read more

Bash Script: Array Dengan Index Menggunakan String

Sekedar catatan pada pemrograman bash bahwa pendefinisian variabel array dan menampilkan array adalah sebagai berikut ini : #!/bin/sh #pendefinisian Array Read more

Bash Script IF Elif Else & Case Perbandingan Multi Kondisi

Berikut ini adalah contoh bash script script perbandingan if elif else multiple or multiple and gabungan antara and dan or Read more

Bash Script Kalkulasi 2 Waktu dan Tanggal Dalam Jam Detik Menit

Berikut ini adalah kumpulan bash script kalkulasi waktu dan tanggal dengan output jam detik dan menit: Kalkulasi 2 waktu output Read more

Sharing is Caring.!

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *