Bash Script Mencegah Script Berjalan Duplikat Berkali-kali Proses

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.

Feed / RSS

Dapatkan artikel terbaru terkirim ke email anda. Klik disini Subscribe in a reader

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 dalam jam menit dan detik

START=$(date +%s);
sleep 1; # Your stuff
END=$(date +%s);
echo $((END-START)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}'

untuk contoh script lainya menyusul.

Feed / RSS

Dapatkan artikel terbaru terkirim ke email anda. Klik disini Subscribe in a reader

Bash Script Menghapus Spasi & Baris Kosong (New Line) pada File

Bagaimana cara menghapus spasi dan baris kosong pada file menggunakan bash script ?

Menghapus baris kosong.

[root@]# cat file.txt

satu
dua

tiga

empat

[root@]# sed -i '/^$/d' file.txt
[root@]# cat file.txt
satu
dua
tiga
empat

Menghapus Spasi

[root@script]# cat file.txt
satu lima
dua puluh
tiga ratus
empat ribu
[root@script]# cat file.txt | tr -d "[:blank:]"
satulima
duapuluh
tigaratus
empatribu

Menghapus Spasi dan New Line

[root@script]# cat file.txt
satu lima
dua puluh
tiga ratus
empat ribu
[root@script]# cat file.txt | tr -d "[:space:]"
satulimaduapuluhtigaratusempatribu[root@uvcms1 script]#

Menghapus new line saja

[root@script]# cat file.txt
satu lima
dua puluh
tiga ratus
empat ribu
[root@uvcms1 script]# cat file.txt | tr -d "\t\n\r"
satu limadua puluhtiga ratusempat ribu[root@script]#

 

Selamat mencoba.

Feed / RSS

Dapatkan artikel terbaru terkirim ke email anda. Klik disini Subscribe in a reader

Teknik Maintenance Server DNS Directadmin yang DOWN

Kadang DNS server directadmin down disebabkan pelanggan salah memasukkan record atau terdapat record yang tidak tersinkronisasi dengan sempurna.

Kelihatannya hal sepele, yaitu hanya sekedar dns. Tapi jika tidak dimonitor dengan benar maka server dns yang down tidak akan mengirimkan query dns dari pengunjung.

akibatnya? query tidak berhasil ditemukan dan website pun tidak bisa diakes.

Jadi bagaimana solusinya?

Anda perlu masuk untuk melihat isi sepenuhnya. Silahkan . Bukan Member? Bergabung

Feed / RSS

Dapatkan artikel terbaru terkirim ke email anda. Klik disini Subscribe in a reader