Post Pic

TIPS: Membuat File Locking Sederhana di Skrip Bash

Tips sederhana untuk membuat locking, agar skrip yang dijalankan via cron tidak dijalankan berkali-kali, alias hanya satu proses dalam satu saat bersamaan.


Misal Anda ingin menjalankan sebuah proses melalui cron secara rutin tiap sekian menit sekali. Anda juga harus memastikan proses tersebut tidak dijalankan lebih dari satu proses bersamaan. Misal, karena saat eksekusi skrip pertama kali belum selesai, lalu skrip keburu dijalankan lagi oleh cron. Dan itu tidak boleh.

Solusi sederhana untuk permasalahan Anda adalah dengan menggunakan file locking sederhana.

#!/bin/bash
 
LOCKFILE="/tmp/skrip.lock"
 
if [ -e "$LOCKFILE" ] ; then
    echo "Ada file lock. Mungkin skrip sedang dijalankan."
    exit 1
fi
 
touch $LOCKFILE
 
#
# disini Anda bisa tulis proses yang ingin dijalankan, misalnya:
# - rsync utk backup
# - rdiff-backup
# - scp 
# - dll
 
 
# setelah proses selesai dijalankan, hapus file lock.
rm -f $LOCKFILE

Satu Komentar

2 February 2010

wow…..baru tahu kini!